From: Matt Carlson Date: Mon, 21 Nov 2011 15:01:17 +0000 (+0000) Subject: tg3: Make 1000Base-X FC resolution look like 1000T X-Git-Tag: v2.6.39-400.9.0~423^2~19^2~11^2~660 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=519d589da030f96077d334fc2910e29a76c47b53;p=users%2Fjedix%2Flinux-maple.git tg3: Make 1000Base-X FC resolution look like 1000T This patch changes tg3's 1000Base-X flow control resolution to look like the 1000Base-T flow control resolution code. (cherry picked from commit f3791cdf33e7d21515de25f5ead0eca38f85ca11) Signed-off-by: Matt Carlson Signed-off-by: David S. Miller Signed-off-by: Joe Jin --- diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 7e7eba97fd90f..b3b53ca2aa819 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -1705,18 +1705,12 @@ static u8 tg3_resolve_flowctrl_1000X(u16 lcladv, u16 rmtadv) { u8 cap = 0; - if (lcladv & ADVERTISE_1000XPAUSE) { - if (lcladv & ADVERTISE_1000XPSE_ASYM) { - if (rmtadv & LPA_1000XPAUSE) - cap = FLOW_CTRL_TX | FLOW_CTRL_RX; - else if (rmtadv & LPA_1000XPAUSE_ASYM) - cap = FLOW_CTRL_RX; - } else { - if (rmtadv & LPA_1000XPAUSE) - cap = FLOW_CTRL_TX | FLOW_CTRL_RX; - } - } else if (lcladv & ADVERTISE_1000XPSE_ASYM) { - if ((rmtadv & LPA_1000XPAUSE) && (rmtadv & LPA_1000XPAUSE_ASYM)) + if (lcladv & rmtadv & ADVERTISE_1000XPAUSE) { + cap = FLOW_CTRL_TX | FLOW_CTRL_RX; + } else if (lcladv & rmtadv & ADVERTISE_1000XPSE_ASYM) { + if (lcladv & ADVERTISE_1000XPAUSE) + cap = FLOW_CTRL_RX; + if (rmtadv & ADVERTISE_1000XPAUSE) cap = FLOW_CTRL_TX; }