[patch 25/69] BNX2: Block MII access when ifdown.

From: Chris Wright
Date: Mon May 21 2007 - 15:53:30 EST


-stable review patch. If anyone has any objections, please let us know.
---------------------

From: <mchan@xxxxxxxxxxxx>

The device may be in D3hot state and should not allow MII register
access.

Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
Signed-off-by: Chris Wright <chrisw@xxxxxxxxxxxx>
---

---
drivers/net/bnx2.c | 6 ++++++
1 file changed, 6 insertions(+)

--- linux-2.6.21.1.orig/drivers/net/bnx2.c
+++ linux-2.6.21.1/drivers/net/bnx2.c
@@ -5564,6 +5564,9 @@ bnx2_ioctl(struct net_device *dev, struc
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, struc
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 linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/