usb-net/pegasus: fix pegasus carrier detection
Broken by 4a1728a28a 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>
This commit is contained in:
committed by
Jeff Garzik
parent
b748d9e3b8
commit
c43c49bd61
@@ -11,6 +11,7 @@
|
||||
|
||||
#define PEGASUS_II 0x80000000
|
||||
#define HAS_HOME_PNA 0x40000000
|
||||
#define TRUST_LINK_STATUS 0x20000000
|
||||
|
||||
#define PEGASUS_MTU 1536
|
||||
#define RX_SKBS 4
|
||||
@@ -203,7 +204,7 @@ PEGASUS_DEV( "AEI USB Fast Ethernet Adapter", VENDOR_AEILAB, 0x1701,
|
||||
PEGASUS_DEV( "Allied Telesyn Int. AT-USB100", VENDOR_ALLIEDTEL, 0xb100,
|
||||
DEFAULT_GPIO_RESET | PEGASUS_II )
|
||||
PEGASUS_DEV( "Belkin F5D5050 USB Ethernet", VENDOR_BELKIN, 0x0121,
|
||||
DEFAULT_GPIO_RESET | PEGASUS_II )
|
||||
DEFAULT_GPIO_RESET | PEGASUS_II | TRUST_LINK_STATUS )
|
||||
PEGASUS_DEV( "Billionton USB-100", VENDOR_BILLIONTON, 0x0986,
|
||||
DEFAULT_GPIO_RESET )
|
||||
PEGASUS_DEV( "Billionton USBLP-100", VENDOR_BILLIONTON, 0x0987,
|
||||
|
||||
Reference in New Issue
Block a user