public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
To: davem@davemloft.net
Cc: netdev@vger.kernel.org, gospo@redhat.com,
	Bruce Allan <bruce.w.allan@intel.com>,
	Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Subject: [net-next-2.6 PATCH 09/23] e1000e: Incorrect MII Link beat reporting.
Date: Sat, 21 Nov 2009 01:24:30 -0800	[thread overview]
Message-ID: <20091121092429.5715.63723.stgit@localhost.localdomain> (raw)
In-Reply-To: <20091121092126.5715.41618.stgit@localhost.localdomain>

From: Bruce Allan <bruce.w.allan@intel.com>

The driver was only updating MII stats when an LSC up was detected and
the interface had not already been reported up to netdev. This meant
MII stats returned in response to an SIOCGMIIREG ioctl would always
show a link up if it had ever been up. This was misleading the networking
daemon guessnet, which uses this ioctl, into making improper network port
selections.
This fix adds a call to e1000_phy_read_status() to actively read the
mii stats before responding to the SIOCGMIIREG ioctl.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---

 drivers/net/e1000e/netdev.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index e819f19..ff9f9f1 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -4320,6 +4320,8 @@ static int e1000_mii_ioctl(struct net_device *netdev, struct ifreq *ifr,
 		data->phy_id = adapter->hw.phy.addr;
 		break;
 	case SIOCGMIIREG:
+		e1000_phy_read_status(adapter);
+
 		switch (data->reg_num & 0x1F) {
 		case MII_BMCR:
 			data->val_out = adapter->phy_regs.bmcr;


  parent reply	other threads:[~2009-11-21  9:24 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-21  9:22 [net-next-2.6 PATCH 01/23] e1000e: check WoL mode is among set of supported modes Jeff Kirsher
2009-11-21  9:22 ` [net-next-2.6 PATCH 02/23] e1000e: add missing tests for 82583 in ethtool functions Jeff Kirsher
2009-11-21  9:22 ` [net-next-2.6 PATCH 03/23] e1000e: clearing interrupt timers causes descriptors to get flushed Jeff Kirsher
2009-11-21  9:22 ` [net-next-2.6 PATCH 04/23] e1000e: function pointers for ethtool set/get offloads Jeff Kirsher
2009-11-21  9:23 ` [net-next-2.6 PATCH 05/23] e1000e: don't clean Rx ring while resetting Jeff Kirsher
2009-11-21  9:23 ` [net-next-2.6 PATCH 06/23] e1000e: link reporting problems Jeff Kirsher
2009-11-21  9:23 ` [net-next-2.6 PATCH 07/23] e1000e: improper return code signage Jeff Kirsher
2009-11-21  9:24 ` [net-next-2.6 PATCH 08/23] e1000e: disable K1 on PCH LOM when in PHY loopback mode Jeff Kirsher
2009-11-21  9:24 ` Jeff Kirsher [this message]
2009-11-21  9:24 ` [net-next-2.6 PATCH 10/23] e1000e: cleanup redundant #include's Jeff Kirsher
2009-11-21  9:25 ` [net-next-2.6 PATCH 11/23] e1000e: consolidate two dbug macros into one simpler one Jeff Kirsher
2009-11-21  9:25 ` [net-next-2.6 PATCH 12/23] e1000e: cleanup ops function pointers Jeff Kirsher
2009-11-21  9:25 ` [net-next-2.6 PATCH 13/23] e1000e: update copyright information Jeff Kirsher
2009-11-21  9:26 ` [net-next-2.6 PATCH 14/23] e1000e: remove comments regarding a non-existent api module Jeff Kirsher
2009-11-21  9:26 ` [net-next-2.6 PATCH 15/23] e1000e: provide comment for 82571 workaround Jeff Kirsher
2009-11-21  9:26 ` [net-next-2.6 PATCH 16/23] e1000e: set bools to true/false instead of 1/0 Jeff Kirsher
2009-11-21  9:27 ` [net-next-2.6 PATCH 17/23] e1000e: cleanup - shift indentation left by exiting early in e1000_tso Jeff Kirsher
2009-11-21  9:27 ` [net-next-2.6 PATCH 18/23] e1000e: cleanup functions that clear hardware statistics Jeff Kirsher
2009-11-21  9:27 ` [net-next-2.6 PATCH 19/23] e1000e: set pm_qos DMA latency requirement per interface when needed Jeff Kirsher
2009-11-21  9:27 ` [net-next-2.6 PATCH 20/23] e1000e: do not error out on identification LED init failure Jeff Kirsher
2009-11-21  9:28 ` [net-next-2.6 PATCH 21/23] e1000e: remove redundant might_sleep() Jeff Kirsher
2009-11-21  9:28 ` [net-next-2.6 PATCH 22/23] e1000e: cosmetic - group local variables of the same type Jeff Kirsher
2009-11-21  9:28 ` [net-next-2.6 PATCH 23/23] e1000e: update Tx Unit hang detection message Jeff Kirsher

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091121092429.5715.63723.stgit@localhost.localdomain \
    --to=jeffrey.t.kirsher@intel.com \
    --cc=bruce.w.allan@intel.com \
    --cc=davem@davemloft.net \
    --cc=gospo@redhat.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox