aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet
diff options
context:
space:
mode:
authorMatt Carlson <mcarlson@broadcom.com>2012-04-02 05:01:40 -0400
committerDavid S. Miller <davem@davemloft.net>2012-04-02 17:41:42 -0400
commit085f1afc56619bda424941412fdeaff1e32c21dc (patch)
treeaa4a4d06413f4c597d75678a7319c434232fb987 /drivers/net/ethernet
parent78fb72f7936c01d5b426c03a691eca082b03f2b9 (diff)
tg3: Fix 5717 serdes powerdown problem
If port 0 of a 5717 serdes device powers down, it hides the phy from port 1. This patch works around the problem by keeping port 0's phy powered up. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r--drivers/net/ethernet/broadcom/tg3.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
index 7b71387cf93c..d2ff8ee39e84 100644
--- a/drivers/net/ethernet/broadcom/tg3.c
+++ b/drivers/net/ethernet/broadcom/tg3.c
@@ -2779,7 +2779,9 @@ static void tg3_power_down_phy(struct tg3 *tp, bool do_low_power)
2779 if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5700 || 2779 if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5700 ||
2780 GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704 || 2780 GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704 ||
2781 (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5780 && 2781 (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5780 &&
2782 (tp->phy_flags & TG3_PHYFLG_MII_SERDES))) 2782 (tp->phy_flags & TG3_PHYFLG_MII_SERDES)) ||
2783 (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5717 &&
2784 !tp->pci_fn))
2783 return; 2785 return;
2784 2786
2785 if (GET_CHIP_REV(tp->pci_chip_rev_id) == CHIPREV_5784_AX || 2787 if (GET_CHIP_REV(tp->pci_chip_rev_id) == CHIPREV_5784_AX ||