]> git.baikalelectronics.ru Git - kernel.git/commit
e1000e: Incorrect MII Link beat reporting.
authorBruce Allan <bruce.w.allan@intel.com>
Fri, 20 Nov 2009 23:24:30 +0000 (23:24 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 21 Nov 2009 19:34:01 +0000 (11:34 -0800)
commit975f70212529d739d013939d3f3900dcf12e300f
tree96382b6d6cbbfa8d7aa392a3cba0edce6b25be07
parent308f1d670048cc74ce9c343e31494986e28bf0be
e1000e: Incorrect MII Link beat reporting.

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>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/e1000e/netdev.c