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 17fb982b3489105f8830e63ee4e3ac6a8995954e..90d150be237bdd4ae176e73d0fb76c30280034c2 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 3103a34c619c401ecdb01bcff8ae6241e07ae672..51b6d29466f19f3162a846ea5fd8c42af5ee3c21 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;