e1000e: link reporting problems
authorBruce Allan <bruce.w.allan@intel.com>
Fri, 20 Nov 2009 23:23:34 +0000 (23:23 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 21 Nov 2009 19:33:52 +0000 (11:33 -0800)
commit7ea9655f8a4ccefcd8fdea7eb4fc5dab98e1a7ba
treee7334067ecf1177be7fcf125e787f04820ea7a81
parenta68ea775ad24ff403437c967628d2b9ce531ce48
e1000e: link reporting problems

Copper links with WoL or management enabled (any condition which prevents
the phy from being powered down when the interface is taken down) were
always reporting link-up when the interface had been taken down. This
is because when the interface is taken down (ifconfig ethx down),
interrupts are disabled. With no interrupts, there is no LSC interrupt,
which is normally required to set "get_link_status", which instructs the
driver to query the device for link state. The fix is to force
get_link_status to true if the interface is not up.

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/ethtool.c