[PATCH] fs_enet: Don't call phy_mii_ioctl() in atomic context.
Rune Torgersen
runet at innovsys.com
Sat Feb 16 08:47:32 EST 2008
Scott Wood wrote:
> The lock acquisition in fs_ioctl() does not appear to actually be
> necessary, and thus is simply removed.
>
> Signed-off-by: Scott Wood <scottwood at freescale.com> ---
> This fixes the following bug:
> http://ozlabs.org/pipermail/linuxppc-dev/2008-February/051564.html
>
> drivers/net/fs_enet/fs_enet-main.c | 7 +------
> 1 files changed, 1 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/net/fs_enet/fs_enet-main.c
> b/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 = netdev_priv(dev);
> struct mii_ioctl_data *mii = (struct mii_ioctl_data
*)&rq->ifr_data;
> - unsigned long flags;
> - int rc;
>
> if (!netif_running(dev))
> return -EINVAL;
>
> - spin_lock_irqsave(&fep->lock, flags);
> - rc = phy_mii_ioctl(fep->phydev, mii, cmd);
> - spin_unlock_irqrestore(&fep->lock, flags);
> - return rc;
> + return phy_mii_ioctl(fep->phydev, mii, cmd);
> }
>
> extern int fs_mii_connect(struct net_device *dev);
Acked-by: Rune Torgersen <runet at innovsys.com>
Tested it and it does indeed take care of the bug.
More information about the Linuxppc-dev
mailing list