Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 27922b4260f65d317aabda37e42bbbff > files > 3159

kernel-2.6.18-238.el5.src.rpm

From: Andy Gospodarek <gospo@redhat.com>
Subject: [RHEL5 PATCH] tg3: BCM5752M crippled after reset
Date: Thu, 30 Nov 2006 12:49:40 -0500
Bugzilla: 215765
Message-Id: <20061130174939.GB7875@gospo.rdu.redhat.com>
Changelog: tg3: BCM5752M crippled after reset



The BCM 5752M needs a PHY reset early in the card's reset sequence. This
appears to be useful to other cards as well. Without this patch, the
card cannot be properly reset -- so a card can't dhcp the second time
(or a Xen guest cannot dhcp).

This problem was already discovered upstream and fixed with the
following upstream patch:
http://kernel.org/git/?p=linux/kernel/git/jgarzik/netdev-2.6.git;a=commit;h=36da4d869f23bc7d1a70a3185218cb626537845c

This fixes BZ 215765 and has been verified by the reporter.

-andy

---

 tg3.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

--- linux-2.6.18.x86_64/drivers/net/tg3.c.orig	2006-11-20 14:58:03.922927000 -0500
+++ linux-2.6.18.x86_64/drivers/net/tg3.c	2006-11-20 14:58:28.273553000 -0500
@@ -68,8 +68,8 @@
 
 #define DRV_MODULE_NAME		"tg3"
 #define PFX DRV_MODULE_NAME	": "
-#define DRV_MODULE_VERSION	"3.65"
-#define DRV_MODULE_RELDATE	"August 07, 2006"
+#define DRV_MODULE_VERSION	"3.65-rh"
+#define DRV_MODULE_RELDATE	"November 20, 2006"
 
 #define TG3_DEF_MAC_MODE	0
 #define TG3_DEF_RX_MODE		0
@@ -5958,7 +5958,7 @@ static int tg3_reset_hw(struct tg3 *tp, 
 		tg3_abort_hw(tp, 1);
 	}
 
-	if ((tp->tg3_flags2 & TG3_FLG2_MII_SERDES) && reset_phy)
+	if (reset_phy)
 		tg3_phy_reset(tp);
 
 	err = tg3_chip_reset(tp);
@@ -6511,7 +6511,7 @@ static int tg3_reset_hw(struct tg3 *tp, 
 		tw32(GRC_LOCAL_CTRL, tp->grc_local_ctrl);
 	}
 
-	err = tg3_setup_phy(tp, reset_phy);
+	err = tg3_setup_phy(tp, 0);
 	if (err)
 		return err;