OSDN Git Service

net/mlx5: E-Switch, Remove redundant mc_promisc NULL check
authorParav Pandit <parav@mellanox.com>
Mon, 29 Jul 2019 21:13:10 +0000 (21:13 +0000)
committerSaeed Mahameed <saeedm@mellanox.com>
Thu, 1 Aug 2019 18:14:25 +0000 (11:14 -0700)
mc_promisc pointer points to an instance of struct esw_mc_addr allocated
as part of the esw structure.
Hence it cannot be NULL.
Removed such redundant check and assign where it is actually used.

While at it, add comment around legacy mode fields and move mc_promisc
close to other legacy mode structures to improve code redability.

Signed-off-by: Parav Pandit <parav@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
drivers/net/ethernet/mellanox/mlx5/core/eswitch.h

index 17fb982..90d150b 100644 (file)
@@ -1900,12 +1900,12 @@ void mlx5_eswitch_disable(struct mlx5_eswitch *esw)
                 esw->mode == MLX5_ESWITCH_LEGACY ? "LEGACY" : "OFFLOADS",
                 esw->esw_funcs.num_vfs, esw->enabled_vports);
 
-       mc_promisc = &esw->mc_promisc;
        mlx5_eswitch_event_handlers_unregister(esw);
 
        mlx5_eswitch_disable_pf_vf_vports(esw);
 
-       if (mc_promisc && mc_promisc->uplink_rule)
+       mc_promisc = &esw->mc_promisc;
+       if (mc_promisc->uplink_rule)
                mlx5_del_flow_rules(mc_promisc->uplink_rule);
 
        if (esw->mode == MLX5_ESWITCH_LEGACY)
index 3103a34..51b6d29 100644 (file)
@@ -214,8 +214,11 @@ enum {
 struct mlx5_eswitch {
        struct mlx5_core_dev    *dev;
        struct mlx5_nb          nb;
+       /* legacy data structures */
        struct mlx5_eswitch_fdb fdb_table;
        struct hlist_head       mc_table[MLX5_L2_ADDR_HASH_SIZE];
+       struct esw_mc_addr mc_promisc;
+       /* end of legacy */
        struct workqueue_struct *work_queue;
        struct mlx5_vport       *vports;
        u32 flags;
@@ -225,7 +228,6 @@ struct mlx5_eswitch {
         * and async SRIOV admin state changes
         */
        struct mutex            state_lock;
-       struct esw_mc_addr      mc_promisc;
 
        struct {
                bool            enabled;