From 2a0167b2dbede7f06c970f36a7717da45f38181c Mon Sep 17 00:00:00 2001 From: Michael Chan Date: Mon, 7 May 2007 19:04:28 -0700 Subject: [PATCH] [PATCH] 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 Signed-off-by: David S. Miller Signed-off-by: Chris Wright --- drivers/net/bnx2.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index d6d57a17f3f..81443ae6ea1 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c @@ -5564,6 +5564,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); @@ -5577,6 +5580,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); -- 2.11.4.GIT