From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.linuxfoundation.org ([140.211.169.12]:60588 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751020AbdALUsb (ORCPT ); Thu, 12 Jan 2017 15:48:31 -0500 Subject: Patch "net/mlx5e: Don't sync netdev state when not registered" has been added to the 4.9-stable tree To: saeedm@mellanox.com, davem@davemloft.net, gregkh@linuxfoundation.org, mohamad@mellanox.com, sebott@linux.vnet.ibm.com Cc: , From: Date: Thu, 12 Jan 2017 21:38:49 +0100 Message-ID: <1484253529136214@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: 8bit Sender: stable-owner@vger.kernel.org List-ID: This is a note to let you know that I've just added the patch titled net/mlx5e: Don't sync netdev state when not registered to the 4.9-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: net-mlx5e-don-t-sync-netdev-state-when-not-registered.patch and it can be found in the queue-4.9 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let know about it. >>From foo@baz Thu Jan 12 21:37:26 CET 2017 From: Saeed Mahameed Date: Wed, 28 Dec 2016 14:58:41 +0200 Subject: net/mlx5e: Don't sync netdev state when not registered From: Saeed Mahameed [ Upstream commit 610e89e05c3f28a7394935aa6b91f99548c4fd3c ] Skip setting netdev vxlan ports and netdev rx_mode on driver load when netdev is not yet registered. Synchronizing with netdev state is needed only on reset flow where the netdev remains registered for the whole reset period. This also fixes an access before initialization of net_device.addr_list_lock - which for some reason initialized on register_netdev - where we queued set_rx_mode work on driver load before netdev registration. Fixes: 26e59d8077a3 ("net/mlx5e: Implement mlx5e interface attach/detach callbacks") Signed-off-by: Saeed Mahameed Reported-by: Sebastian Ott Reviewed-by: Mohamad Haj Yahia Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c @@ -3773,14 +3773,7 @@ static void mlx5e_nic_enable(struct mlx5 mlx5_lag_add(mdev, netdev); - if (mlx5e_vxlan_allowed(mdev)) { - rtnl_lock(); - udp_tunnel_get_rx_info(netdev); - rtnl_unlock(); - } - mlx5e_enable_async_events(priv); - queue_work(priv->wq, &priv->set_rx_mode_work); if (MLX5_CAP_GEN(mdev, vport_group_manager)) { mlx5_query_nic_vport_mac_address(mdev, 0, rep.hw_id); @@ -3790,6 +3783,18 @@ static void mlx5e_nic_enable(struct mlx5 rep.priv_data = priv; mlx5_eswitch_register_vport_rep(esw, 0, &rep); } + + if (netdev->reg_state != NETREG_REGISTERED) + return; + + /* Device already registered: sync netdev system state */ + if (mlx5e_vxlan_allowed(mdev)) { + rtnl_lock(); + udp_tunnel_get_rx_info(netdev); + rtnl_unlock(); + } + + queue_work(priv->wq, &priv->set_rx_mode_work); } static void mlx5e_nic_disable(struct mlx5e_priv *priv) Patches currently in stable-queue which might be from saeedm@mellanox.com are queue-4.9/net-mlx5e-don-t-sync-netdev-state-when-not-registered.patch queue-4.9/net-mlx5-mask-destination-mac-value-in-ethtool-steering-rules.patch queue-4.9/net-mlx5-check-fw-limitations-on-log_max_qp-before-setting-it.patch queue-4.9/net-mlx5-avoid-shadowing-numa_node.patch queue-4.9/net-mlx5e-disable-netdev-after-close.patch queue-4.9/net-mlx5e-remove-warn_once-from-adaptive-moderation-code.patch queue-4.9/net-mlx5-prevent-setting-multicast-macs-for-vfs.patch queue-4.9/net-mlx5-cancel-recovery-work-in-remove-flow.patch