summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorMatt Carlson2009-02-25 15:21:20 +0100
committerDavid S. Miller2009-03-05 00:08:19 +0100
commit9f8ac0b7b063be77f0de7a27fe5e6a0aa2cce58d (patch)
tree26519ff5710b58f9ed49f329f7cae4630b94cc5d /drivers/net
parentSCTP: change sctp_ctl_sock_init() to try IPv4 if IPv6 fails (diff)
downloadkernel-qcow2-linux-9f8ac0b7b063be77f0de7a27fe5e6a0aa2cce58d.tar.gz
kernel-qcow2-linux-9f8ac0b7b063be77f0de7a27fe5e6a0aa2cce58d.tar.xz
kernel-qcow2-linux-9f8ac0b7b063be77f0de7a27fe5e6a0aa2cce58d.zip
tg3: Fix 5906 link problems
Commit 6833c043f9fc03696fde623914c4a0277df2a0bc introduced the phy auto-powerdown capability. While the APD feature only works for 5761 and 5784 asic revisions, the (harmless portion of the) code was applied to all 5705 and newer devices. However, the 5906 phy departs from the usual design. This commit was interfering with the 5906's ability to negotiate link against some switches. This patch corrects the problem. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Signed-off-by: Benjamin Li <benli@broadcom.com> Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/tg3.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index b080f9493d83..dabdf59f8016 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -1473,7 +1473,8 @@ static void tg3_phy_toggle_apd(struct tg3 *tp, bool enable)
{
u32 reg;
- if (!(tp->tg3_flags2 & TG3_FLG2_5705_PLUS))
+ if (!(tp->tg3_flags2 & TG3_FLG2_5705_PLUS) ||
+ GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5906)
return;
reg = MII_TG3_MISC_SHDW_WREN |