Re: [PATCH] stmmac: do not sleep in atomic context for mdio_reset
From: David Miller
Date: Thu Jun 02 2016 - 15:12:51 EST
From: Vincent Palatin <vpalatin@xxxxxxxxxxxx>
Date: Wed, 1 Jun 2016 08:53:48 -0700
> stmmac_mdio_reset() has been updated to use msleep rather udelay
> (as some PHY requires a one second delay there).
> It called from stmmac_resume() within the spin_lock_irqsave block
> atomic context triggering 'scheduling while atomic'.
> The stmmac_priv lock usage is not fully documented, but it seems
> to protect the access to the MAC registers / DMA structures rather
> than the MDIO bus or the PHY (which have separate locking),
> so we can push the spin_lock after the stmmac_mdio_reset call.
> Signed-off-by: Vincent Palatin <vpalatin@xxxxxxxxxxxx>