Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dad3e452dacd3c6c637e2f7c6469556cc8ffcd94 Commit: dad3e452dacd3c6c637e2f7c6469556cc8ffcd94 Parent: 427c2196b92697a4a8ee87959ebc16bfac024f6b Author: Michael Chan <[EMAIL PROTECTED]> AuthorDate: Thu May 3 13:18:03 2007 -0700 Committer: David S. Miller <[EMAIL PROTECTED]> CommitDate: Thu May 3 13:18:03 2007 -0700
[BNX2]: Block MII access when ifdown. The device may be in D3hot state and should not allow MII register access. Signed-off-by: Michael Chan <[EMAIL PROTECTED]> Signed-off-by: David S. Miller <[EMAIL PROTECTED]> --- drivers/net/bnx2.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index f98a220..9f0a067 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c @@ -5562,6 +5562,9 @@ bnx2_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) case SIOCGMIIREG: { u32 mii_regval; + if (!netif_running(dev)) + return -EAGAIN; + spin_lock_bh(&bp->phy_lock); err = bnx2_read_phy(bp, data->reg_num & 0x1f, &mii_regval); spin_unlock_bh(&bp->phy_lock); @@ -5575,6 +5578,9 @@ bnx2_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) if (!capable(CAP_NET_ADMIN)) return -EPERM; + if (!netif_running(dev)) + return -EAGAIN; + spin_lock_bh(&bp->phy_lock); err = bnx2_write_phy(bp, data->reg_num & 0x1f, data->val_in); spin_unlock_bh(&bp->phy_lock); - To unsubscribe from this list: send the line "unsubscribe git-commits-head" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html