Re: [PATCH v4 1/5] net: macb: fix wakeup test in runtime suspend/resume routines

From: Jakub Kicinski
Date: Wed May 06 2020 - 16:18:48 EST


On Wed, 6 May 2020 13:37:37 +0200 nicolas.ferre@xxxxxxxxxxxxx wrote:
> From: Nicolas Ferre <nicolas.ferre@xxxxxxxxxxxxx>
>
> 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")

Fixes tag: Fixes: bc1109d04c39 ("net: macb: Add pm runtime support")
Has these problem(s):
- Target SHA1 does not exist

> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxxxxxx>
> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
> Cc: Claudiu Beznea <claudiu.beznea@xxxxxxxxxxxxx>
> Cc: Harini Katakam <harini.katakam@xxxxxxxxxx>
> ---
> drivers/net/ethernet/cadence/macb_main.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
> index 36290a8e2a84..d11fae37d46b 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);