Message ID | 1568714556-25024-1-git-send-email-lollivier@baylibre.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | net: stmmac: Fix ASSERT_RTNL() warning on suspend/resume | expand |
From: Loys Ollivier <lollivier@baylibre.com> Date: Sep/17/2019, 11:02:36 (UTC+00:00) > rtnl_lock needs to be taken before calling phylink_start/stop to lock the > network stack. > Fix ASSERT_RTNL() warnings by protecting such calls with lock/unlock. > > Fixes: 74371272f97f ("net: stmmac: Convert to phylink and remove phylib logic") > Signed-off-by: Loys Ollivier <lollivier@baylibre.com> I already sent a fix for this. Please see in -net: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git/commit/driv ers/net/ethernet/stmicro/stmmac?id=19e13cb27b998ff49f07e399b5871bfe5ba7e3 f0 --- Thanks, Jose Miguel Abreu
On Tue 17 Sep 2019 at 10:12, Jose Abreu <Jose.Abreu@synopsys.com> wrote: > From: Loys Ollivier <lollivier@baylibre.com> > Date: Sep/17/2019, 11:02:36 (UTC+00:00) > >> rtnl_lock needs to be taken before calling phylink_start/stop to lock the >> network stack. >> Fix ASSERT_RTNL() warnings by protecting such calls with lock/unlock. >> >> Fixes: 74371272f97f ("net: stmmac: Convert to phylink and remove phylib logic") >> Signed-off-by: Loys Ollivier <lollivier@baylibre.com> > > I already sent a fix for this. Please see in -net: > > https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git/commit/driv > ers/net/ethernet/stmicro/stmmac?id=19e13cb27b998ff49f07e399b5871bfe5ba7e3 > f0 Ah good catch :) > > --- > Thanks, > Jose Miguel Abreu
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index fd54c7c87485..485f33f57b43 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -4451,7 +4451,9 @@ int stmmac_suspend(struct device *dev) if (!ndev || !netif_running(ndev)) return 0; + rtnl_lock(); phylink_stop(priv->phylink); + rtnl_unlock(); mutex_lock(&priv->lock); @@ -4560,7 +4562,9 @@ int stmmac_resume(struct device *dev) mutex_unlock(&priv->lock); + rtnl_lock(); phylink_start(priv->phylink); + rtnl_unlock(); return 0; }
rtnl_lock needs to be taken before calling phylink_start/stop to lock the network stack. Fix ASSERT_RTNL() warnings by protecting such calls with lock/unlock. Fixes: 74371272f97f ("net: stmmac: Convert to phylink and remove phylib logic") Signed-off-by: Loys Ollivier <lollivier@baylibre.com> --- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 ++++ 1 file changed, 4 insertions(+)