[ 3.5.y.z extended stable ] Patch "tg3: 5715 does not link up when autoneg off" has been added to staging queue
Luis Henriques
luis.henriques at canonical.com
Mon Mar 25 18:03:27 UTC 2013
This is a note to let you know that I have just added a patch titled
tg3: 5715 does not link up when autoneg off
to the linux-3.5.y-queue branch of the 3.5.y.z extended stable tree
which can be found at:
http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux-3.5.y-queue
If you, or anyone else, feels it should not be added to this tree, please
reply to this email.
For more information about the 3.5.y.z tree, see
https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable
Thanks.
-Luis
------
>From 7bea212367ffee6d574b4060f8943050035b3b32 Mon Sep 17 00:00:00 2001
From: Nithin Sujir <nsujir at broadcom.com>
Date: Wed, 13 Mar 2013 13:56:47 -0700
Subject: [PATCH] tg3: 5715 does not link up when autoneg off
commit 7c6cdead7cc9a99650d15497aae47d7472217eb1 upstream.
Commit d13ba512cbba7de5d55d7a3b2aae7d83c8921457 ("tg3: Remove
SPEED_UNKNOWN checks") cleaned up the autoneg advertisement by
removing some dead code. One effect of this change was that the
advertisement register would not be updated if autoneg is turned off.
This exposed a bug on the 5715 device w.r.t linking. The 5715 defaults
to advertise only 10Mb Full duplex. But with autoneg disabled, it needs
the configured speed enabled in the advertisement register to link up.
This patch adds the work around to advertise all speeds on the 5715 when
autoneg is disabled.
Reported-by: Marcin Miotk <marcinmiotk81 at gmail.com>
Reviewed-by: Benjamin Li <benli at broadcom.com>
Signed-off-by: Nithin Nayak Sujir <nsujir at broadcom.com>
Signed-off-by: Michael Chan <mchan at broadcom.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
[ luis: backported by Nithin Sujir ]
Signed-off-by: Luis Henriques <luis.henriques at canonical.com>
---
drivers/net/ethernet/broadcom/tg3.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
index 4da6a86..ca3be73 100644
--- a/drivers/net/ethernet/broadcom/tg3.c
+++ b/drivers/net/ethernet/broadcom/tg3.c
@@ -3946,6 +3946,14 @@ static void tg3_phy_copper_begin(struct tg3 *tp)
tp->link_config.active_speed = tp->link_config.speed;
tp->link_config.active_duplex = tp->link_config.duplex;
+ if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5714) {
+ /* With autoneg disabled, 5715 only links up when the
+ * advertisement register has the configured speed
+ * enabled.
+ */
+ tg3_writephy(tp, MII_ADVERTISE, ADVERTISE_ALL);
+ }
+
bmcr = 0;
switch (tp->link_config.speed) {
default:
--
1.8.1.2
More information about the kernel-team
mailing list