[prev in list] [next in list] [prev in thread] [next in thread] 

List:       git-commits-24
Subject:    [TG3]: Add workaround for third-party phy issues.
From:       Linux Kernel Mailing List <linux-kernel () vger ! kernel ! org>
Date:       2003-01-30 23:07:24
[Download RAW message or body]

ChangeSet 1.953.2.6, 2003/01/30 15:07:24-08:00, davem@nuts.ninka.net

	[TG3]: Add workaround for third-party phy issues.


# This patch includes the following deltas:
#	           ChangeSet	1.953.2.5 -> 1.953.2.6
#	   drivers/net/tg3.c	1.51    -> 1.52   
#

 tg3.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+)


diff -Nru a/drivers/net/tg3.c b/drivers/net/tg3.c
--- a/drivers/net/tg3.c	Mon Feb  3 21:33:15 2003
+++ b/drivers/net/tg3.c	Mon Feb  3 21:33:15 2003
@@ -887,6 +887,20 @@
 
 	tg3_writephy(tp, MII_TG3_AUX_CTRL, 0x02);
 
+	/* Some third-party PHYs need to be reset on link going
+	 * down.
+	 *
+	 * XXX 5705 note: This workaround also applies to 5705_a0
+	 */
+	if ((GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5703 ||
+	     GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704) &&
+	    netif_carrier_ok(tp->pdev)) {
+		tg3_readphy(tp, MII_BMSR, &bmsr);
+		tg3_readphy(tp, MII_BMSR, &bmsr);
+		if (!(bmsr & BMSR_LSTATUS))
+			tg3_phy_reset(tp, 1);
+	}
+
 	if ((tp->phy_id & PHY_ID_MASK) == PHY_ID_BCM5401) {
 		tg3_readphy(tp, MII_BMSR, &bmsr);
 		tg3_readphy(tp, MII_BMSR, &bmsr);
-
To unsubscribe from this list: send the line "unsubscribe bk-commits-24" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic