diff options
Diffstat (limited to 'drivers/net/tg3.c')
| -rw-r--r-- | drivers/net/tg3.c | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 93b32d36661..06c0e503365 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -11158,7 +11158,9 @@ static int tg3_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)  		if (tp->phy_flags & TG3_PHYFLG_PHY_SERDES)  			break;			/* We have no PHY */ -		if (tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER) +		if ((tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER) || +		    ((tp->tg3_flags & TG3_FLAG_ENABLE_ASF) && +		     !netif_running(dev)))  			return -EAGAIN;  		spin_lock_bh(&tp->lock); @@ -11174,7 +11176,9 @@ static int tg3_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)  		if (tp->phy_flags & TG3_PHYFLG_PHY_SERDES)  			break;			/* We have no PHY */ -		if (tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER) +		if ((tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER) || +		    ((tp->tg3_flags & TG3_FLAG_ENABLE_ASF) && +		     !netif_running(dev)))  			return -EAGAIN;  		spin_lock_bh(&tp->lock);  |