Messages in this thread | | | Date | Wed, 23 Feb 2022 11:48:10 +0100 | From | Andrew Lunn <> | Subject | Re: [PATCH 3/3] drivers/net/ftgmac100: fix DHCP potential failure with systemd |
| |
> diff --git a/drivers/net/ethernet/faraday/ftgmac100.c b/drivers/net/ethernet/faraday/ftgmac100.c > index c1deb6e5d26c5..d5356db7539a4 100644 > --- a/drivers/net/ethernet/faraday/ftgmac100.c > +++ b/drivers/net/ethernet/faraday/ftgmac100.c > @@ -1402,8 +1402,17 @@ static void ftgmac100_adjust_link(struct net_device *netdev) > /* Disable all interrupts */ > iowrite32(0, priv->base + FTGMAC100_OFFSET_IER); > > - /* Reset the adapter asynchronously */ > - schedule_work(&priv->reset_task); > + /* Release phy lock to allow ftgmac100_reset to aquire it, keeping lock > + * order consistent to prevent dead lock. > + */ > + if (netdev->phydev) > + mutex_unlock(&netdev->phydev->lock);
No need to do this test. The fact that adjust_link is being called indicates there must be a PHY.
Andrew
| |