Messages in this thread | | | Date | Wed, 26 Jun 2019 12:45:44 +0200 | From | Thierry Reding <> | Subject | Re: [PATCH 2/2] net: stmmac: Fix crash observed if PHY does not support EEE |
| |
On Wed, Jun 26, 2019 at 11:23:22AM +0100, Jon Hunter wrote: > If the PHY does not support EEE mode, then a crash is observed when the > ethernet interface is enabled. The crash occurs, because if the PHY does > not support EEE, then although the EEE timer is never configured, it is > still marked as enabled and so the stmmac ethernet driver is still > trying to update the timer by calling mod_timer(). This triggers a BUG() > in the mod_timer() because we are trying to update a timer when there is > no callback function set because timer_setup() was never called for this > timer. > > The problem is caused because we return true from the function > stmmac_eee_init(), marking the EEE timer as enabled, even when we have > not configured the EEE timer. Fix this by ensuring that we return false > if the PHY does not support EEE and hence, 'eee_active' is not set. > > Fixes: 74371272f97f ("net: stmmac: Convert to phylink and remove phylib logic") > Signed-off-by: Jon Hunter <jonathanh@nvidia.com> > --- > drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-)
Thanks for hunting this down!
Tested-by: Thierry Reding <treding@nvidia.com> [unhandled content-type:application/pgp-signature] | |