From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Michael Chan" Subject: [PATCH v2 1/16][BNX2]: Block MII access when ifdown. Date: Thu, 03 May 2007 00:28:06 -0700 Message-ID: <1178177286.4909.65.camel@dell> References: <1178068303.4820.35.camel@dell> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Cc: "netdev" To: "David Miller" Return-path: Received: from mms3.broadcom.com ([216.31.210.19]:3606 "EHLO MMS3.broadcom.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754983AbXECGlG (ORCPT ); Thu, 3 May 2007 02:41:06 -0400 In-Reply-To: <1178068303.4820.35.camel@dell> Sender: netdev-owner@vger.kernel.org List-Id: netdev.vger.kernel.org [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 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);