Re: [PATCH net] net: macb: ensure interface is not suspended on at91rm9200

From: Claudiu.Beznea
Date: Wed Feb 12 2020 - 12:41:17 EST




On 12.02.2020 18:45, Alexandre Belloni wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> Because of autosuspend, at91ether_start is called with clocks disabled.
> Ensure that pm_runtime doesn't suspend the interface as soon as it is
> opened as there is no pm_runtime support is the other relevant parts of the
> platform support for at91rm9200.
>
> Fixes: d54f89af6cc4 ("net: macb: Add pm runtime support")
> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>

Reviewed-by: Claudiu Beznea <claudiu.beznea@xxxxxxxxxxxxx>

> ---
> drivers/net/ethernet/cadence/macb_main.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
> index 4508f0d150da..def94e91883a 100644
> --- a/drivers/net/ethernet/cadence/macb_main.c
> +++ b/drivers/net/ethernet/cadence/macb_main.c
> @@ -3790,6 +3790,10 @@ static int at91ether_open(struct net_device *dev)
> u32 ctl;
> int ret;
>
> + ret = pm_runtime_get_sync(&lp->pdev->dev);
> + if (ret < 0)
> + return ret;
> +
> /* Clear internal statistics */
> ctl = macb_readl(lp, NCR);
> macb_writel(lp, NCR, ctl | MACB_BIT(CLRSTAT));
> @@ -3854,7 +3858,7 @@ static int at91ether_close(struct net_device *dev)
> q->rx_buffers, q->rx_buffers_dma);
> q->rx_buffers = NULL;
>
> - return 0;
> + return pm_runtime_put(&lp->pdev->dev);
> }
>
> /* Transmit packet */
> --
> 2.24.1
>
>