]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commit
net: ethernet: ti: cpsw: fix ASSERT_RTNL() warning during suspend
authorGrygorii Strashko <grygorii.strashko@ti.com>
Fri, 22 May 2020 17:09:28 +0000 (20:09 +0300)
committerMarcelo Henrique Cerri <marcelo.cerri@canonical.com>
Mon, 22 Jun 2020 20:22:58 +0000 (17:22 -0300)
commitafaae3fc06c37e069183944bfc2eb5f1364d7845
treec62a81c2c9d45dad1f0f46206647e61c656ef8e8
parentaf631e0db25685167316d11bd8cee2b340bbcd1c
net: ethernet: ti: cpsw: fix ASSERT_RTNL() warning during suspend

BugLink: https://bugs.launchpad.net/bugs/1881927
[ Upstream commit 4c64b83d03f4aafcdf710caad994cbc855802e74 ]

vlan_for_each() are required to be called with rtnl_lock taken, otherwise
ASSERT_RTNL() warning will be triggered - which happens now during System
resume from suspend:
  cpsw_suspend()
  |- cpsw_ndo_stop()
    |- __hw_addr_ref_unsync_dev()
      |- cpsw_purge_all_mc()
         |- vlan_for_each()
            |- ASSERT_RTNL();

Hence, fix it by surrounding cpsw_ndo_stop() by rtnl_lock/unlock() calls.

Fixes: 15180eca569b ("net: ethernet: ti: cpsw: fix vlan mcast")
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
drivers/net/ethernet/ti/cpsw.c