RE: [PATCH] fs_enet: Don't call phy_mii_ioctl() in atomic context.
From: Rune Torgersen <hidden>
Date: 2008-02-15 21:47:36
Also in:
netdev
Scott Wood wrote:
quoted hunk ↗ jump to hunk
The lock acquisition in fs_ioctl() does not appear to actually be necessary, and thus is simply removed. =20 Signed-off-by: Scott Wood <redacted> --- This fixes the following bug: http://ozlabs.org/pipermail/linuxppc-dev/2008-February/051564.html =20 drivers/net/fs_enet/fs_enet-main.c | 7 +------ 1 files changed, 1 insertions(+), 6 deletions(-) =20diff --git a/drivers/net/fs_enet/fs_enet-main.cb/drivers/net/fs_enet/fs_enet-main.c index 42d94ed..af869cf 100644--- a/drivers/net/fs_enet/fs_enet-main.c +++ b/drivers/net/fs_enet/fs_enet-main.c@@ -946,16 +946,11 @@ static int fs_ioctl(struct net_device*dev, struct ifreq *rq, int cmd) { struct fs_enet_private *fep =3D netdev_priv(dev); struct mii_ioctl_data *mii =3D (struct mii_ioctl_data
*)&rq->ifr_data;
- unsigned long flags; - int rc; =20 if (!netif_running(dev)) return -EINVAL; =20 - spin_lock_irqsave(&fep->lock, flags); - rc =3D phy_mii_ioctl(fep->phydev, mii, cmd); - spin_unlock_irqrestore(&fep->lock, flags); - return rc; + return phy_mii_ioctl(fep->phydev, mii, cmd); } =20 extern int fs_mii_connect(struct net_device *dev);
Acked-by: Rune Torgersen <redacted> Tested it and it does indeed take care of the bug.