|
@@ -250,18 +250,12 @@ static inline u8 mii_resolve_flowctrl_fdx(u16 lcladv, u16 rmtadv)
|
|
|
{
|
|
|
u8 cap = 0;
|
|
|
|
|
|
- if (lcladv & ADVERTISE_PAUSE_CAP) {
|
|
|
- if (lcladv & ADVERTISE_PAUSE_ASYM) {
|
|
|
- if (rmtadv & LPA_PAUSE_CAP)
|
|
|
- cap = FLOW_CTRL_TX | FLOW_CTRL_RX;
|
|
|
- else if (rmtadv & LPA_PAUSE_ASYM)
|
|
|
- cap = FLOW_CTRL_RX;
|
|
|
- } else {
|
|
|
- if (rmtadv & LPA_PAUSE_CAP)
|
|
|
- cap = FLOW_CTRL_TX | FLOW_CTRL_RX;
|
|
|
- }
|
|
|
- } else if (lcladv & ADVERTISE_PAUSE_ASYM) {
|
|
|
- if ((rmtadv & LPA_PAUSE_CAP) && (rmtadv & LPA_PAUSE_ASYM))
|
|
|
+ if (lcladv & rmtadv & ADVERTISE_PAUSE_CAP) {
|
|
|
+ cap = FLOW_CTRL_TX | FLOW_CTRL_RX;
|
|
|
+ } else if (lcladv & rmtadv & ADVERTISE_PAUSE_ASYM) {
|
|
|
+ if (lcladv & ADVERTISE_PAUSE_CAP)
|
|
|
+ cap = FLOW_CTRL_RX;
|
|
|
+ else if (rmtadv & ADVERTISE_PAUSE_CAP)
|
|
|
cap = FLOW_CTRL_TX;
|
|
|
}
|
|
|
|