usb-net/pegasus: fix pegasus carrier detection
authorDan Williams <dcbw@redhat.com>
Tue, 24 Apr 2007 14:20:06 +0000 (10:20 -0400)
committerJeff Garzik <jeff@garzik.org>
Tue, 24 Apr 2007 16:46:31 +0000 (12:46 -0400)
commitc43c49bd61fdb9bb085ddafcaadb17d06f95ec43
treefc65c3603ca9e3f0819fbddd1cd4e8a66c39ad5b
parentb748d9e3b80dc7e6ce6bf7399f57964b99a4104c
usb-net/pegasus: fix pegasus carrier detection

Broken by 4a1728a28a193aa388900714bbb1f375e08a6d8e which switched the
return semantics of read_mii_word() but didn't fix usage of
read_mii_word() to conform to the new semantics.

Setting carrier to off based on the NO_CARRIER flag is also incorrect as
that flag only triggers on TX failure and therefore isn't correct when
no frames are being transmitted.  Since there is already a 2*HZ MII
carrier check going on, defer to that.

Add a TRUST_LINK_STATUS feature flag for adapters where the LINK_STATUS
flag is actually correct, and use that rather than the NO_CARRIER flag.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/usb/net/pegasus.c
drivers/usb/net/pegasus.h