diff options
author | Matt Carlson <mcarlson@broadcom.com> | 2012-04-02 05:01:40 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-04-02 17:41:42 -0400 |
commit | 085f1afc56619bda424941412fdeaff1e32c21dc (patch) | |
tree | aa4a4d06413f4c597d75678a7319c434232fb987 /drivers/net/ethernet | |
parent | 78fb72f7936c01d5b426c03a691eca082b03f2b9 (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.c | 4 |
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 || |