Message ID | eba7f3605d6dcad37f875b2584d519cd6cae9fd1.1587058078.git.nicolas.ferre@microchip.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | net: macb: Wake-on-Lan magic packet fixes and GEM handling | expand |
Hi Nicolas, > -----Original Message----- > From: nicolas.ferre@microchip.com [mailto:nicolas.ferre@microchip.com] > Sent: Thursday, April 16, 2020 11:14 PM > To: linux-arm-kernel@lists.infradead.org; netdev@vger.kernel.org; Claudiu > Beznea <claudiu.beznea@microchip.com>; Harini Katakam > <harinik@xilinx.com> > Cc: linux-kernel@vger.kernel.org; David S. Miller <davem@davemloft.net>; > Alexandre Belloni <alexandre.belloni@bootlin.com>; pthombar@cadence.com; > sergio.prado@e-labworks.com; antoine.tenart@bootlin.com; > f.fainelli@gmail.com; linux@armlinux.org.uk; andrew@lunn.ch; Michal Simek > <michals@xilinx.com>; Nicolas Ferre <nicolas.ferre@microchip.com>; Rafal > Ozieblo <rafalo@cadence.com> > Subject: [PATCH 1/5] net: macb: fix wakeup test in runtime suspend/resume > routines > > From: Nicolas Ferre <nicolas.ferre@microchip.com> > > Use the proper struct device pointer to check if the wakeup flag and wakeup > source are positioned. > Use the one passed by function call which is equivalent to &bp->dev- > >dev.parent. > > It's preventing the trigger of a spurious interrupt in case the Wake-on-Lan > feature is used. Sorry I have some mail issues; meant to reply earlier. Tested patches 1, 2, 3 in this set and they work for me. I'll try patch 4; it looks similar to what I'm using locally but I'll add whatever tie-off queue handling is required on top of your series, thanks. Regards, Harini
On 4/16/2020 10:44 AM, nicolas.ferre@microchip.com wrote: > From: Nicolas Ferre <nicolas.ferre@microchip.com> > > Use the proper struct device pointer to check if the wakeup flag > and wakeup source are positioned. > Use the one passed by function call which is equivalent to > &bp->dev->dev.parent. > > It's preventing the trigger of a spurious interrupt in case the > Wake-on-Lan feature is used. > > Fixes: bc1109d04c39 ("net: macb: Add pm runtime support") > Cc: Claudiu Beznea <claudiu.beznea@microchip.com> > Cc: Harini Katakam <harini.katakam@xilinx.com> > Cc: Rafal Ozieblo <rafalo@cadence.com> > Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
On 16/04/2020 at 20:26, Harini Katakam wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe > > Hi Nicolas, > >> -----Original Message----- >> From: nicolas.ferre@microchip.com [mailto:nicolas.ferre@microchip.com] >> Sent: Thursday, April 16, 2020 11:14 PM >> To: linux-arm-kernel@lists.infradead.org; netdev@vger.kernel.org; Claudiu >> Beznea <claudiu.beznea@microchip.com>; Harini Katakam >> <harinik@xilinx.com> >> Cc: linux-kernel@vger.kernel.org; David S. Miller <davem@davemloft.net>; >> Alexandre Belloni <alexandre.belloni@bootlin.com>; pthombar@cadence.com; >> sergio.prado@e-labworks.com; antoine.tenart@bootlin.com; >> f.fainelli@gmail.com; linux@armlinux.org.uk; andrew@lunn.ch; Michal Simek >> <michals@xilinx.com>; Nicolas Ferre <nicolas.ferre@microchip.com>; Rafal >> Ozieblo <rafalo@cadence.com> >> Subject: [PATCH 1/5] net: macb: fix wakeup test in runtime suspend/resume >> routines >> >> From: Nicolas Ferre <nicolas.ferre@microchip.com> >> >> Use the proper struct device pointer to check if the wakeup flag and wakeup >> source are positioned. >> Use the one passed by function call which is equivalent to &bp->dev- >>> dev.parent. >> >> It's preventing the trigger of a spurious interrupt in case the Wake-on-Lan >> feature is used. > > Sorry I have some mail issues; meant to reply earlier. > Tested patches 1, 2, 3 in this set and they work for me. Brilliant! Thanks for the feedback. > I'll try patch 4; it looks similar to what I'm using locally but I'll add whatever > tie-off queue handling is required on top of your series, thanks. Alright, I'll hold my v2 for a few days then. Thanks. Best regards, Nicolas
diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c index a0e8c5bbabc0..d1b4d6b6d7c8 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -4616,7 +4616,7 @@ static int __maybe_unused macb_runtime_suspend(struct device *dev) struct net_device *netdev = dev_get_drvdata(dev); struct macb *bp = netdev_priv(netdev); - if (!(device_may_wakeup(&bp->dev->dev))) { + if (!(device_may_wakeup(dev))) { clk_disable_unprepare(bp->tx_clk); clk_disable_unprepare(bp->hclk); clk_disable_unprepare(bp->pclk); @@ -4632,7 +4632,7 @@ static int __maybe_unused macb_runtime_resume(struct device *dev) struct net_device *netdev = dev_get_drvdata(dev); struct macb *bp = netdev_priv(netdev); - if (!(device_may_wakeup(&bp->dev->dev))) { + if (!(device_may_wakeup(dev))) { clk_prepare_enable(bp->pclk); clk_prepare_enable(bp->hclk); clk_prepare_enable(bp->tx_clk);