]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
tg3: Make 1000Base-X FC resolution look like 1000T
authorMatt Carlson <mcarlson@broadcom.com>
Mon, 21 Nov 2011 15:01:17 +0000 (15:01 +0000)
committerJoe Jin <joe.jin@oracle.com>
Wed, 16 May 2012 02:33:41 +0000 (10:33 +0800)
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 <mcarlson@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Joe Jin <joe.jin@oracle.com>
drivers/net/tg3.c

index 7e7eba97fd90f76f9247c87be3b5736ccc0118aa..b3b53ca2aa8194243f913a9625a9b23067544b6f 100644 (file)
@@ -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;
        }