cxgb3: fix link flap

The driver is expected to report that the link is up
when the phy Rx signal is established and the mac
has not detected a link fault.
The code is however broken, the driver does not check the link fault
status when the phy link status changes.
The link fault status being checked within a short period of time,
it leads to link up/link down events.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Divy Le Ray 2010-02-13 09:44:35 +00:00 committed by David S. Miller
parent 38a8fc0fcf
commit e9449d85c6
1 changed files with 2 additions and 1 deletions

View File

@ -1262,7 +1262,8 @@ void t3_link_changed(struct adapter *adapter, int port_id)
lc->fc = fc;
}
t3_os_link_changed(adapter, port_id, link_ok, speed, duplex, fc);
t3_os_link_changed(adapter, port_id, link_ok && !pi->link_fault,
speed, duplex, fc);
}
void t3_link_fault(struct adapter *adapter, int port_id)