fs_enet: Don't call phy_mii_ioctl() in atomic context.
The lock acquisition in fs_ioctl() does not appear to actually be necessary, and thus is simply removed. Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
@@ -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 fs_enet_private *fep = netdev_priv(dev);
|
||||||
struct mii_ioctl_data *mii = (struct mii_ioctl_data *)&rq->ifr_data;
|
struct mii_ioctl_data *mii = (struct mii_ioctl_data *)&rq->ifr_data;
|
||||||
unsigned long flags;
|
|
||||||
int rc;
|
|
||||||
|
|
||||||
if (!netif_running(dev))
|
if (!netif_running(dev))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
spin_lock_irqsave(&fep->lock, flags);
|
return phy_mii_ioctl(fep->phydev, mii, cmd);
|
||||||
rc = phy_mii_ioctl(fep->phydev, mii, cmd);
|
|
||||||
spin_unlock_irqrestore(&fep->lock, flags);
|
|
||||||
return rc;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extern int fs_mii_connect(struct net_device *dev);
|
extern int fs_mii_connect(struct net_device *dev);
|
||||||
|
Reference in New Issue
Block a user