Skip to contentSkip to conversation

tg3: Delay mdio bus init until fw finishes

PATCH In review Matt Carlson 1 participant 1 message Aug 29, 2009

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/17 tg3: Delay mdio bus init until fw finishes

The device firmware uses the MDIO bus during early setup. If the driver modifies the MDIO bus configuration while it is in use by the firmware, any number of bad things can happen. This patch delays MDIO setup until after the firmware posts its magic signature, signifying initialization is complete.

---
 drivers/net/tg3.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
drivers/net/tg3.c +2 -2
index 8af2cdf..ab3159e 100644
@@ -6348,14 +6348,14 @@ static int tg3_chip_reset(struct tg3 *tp)
 		tw32_f(MAC_MODE, 0);
 	udelay(40);
 
-	tg3_mdio_start(tp);
-
 	tg3_ape_unlock(tp, TG3_APE_LOCK_GRC);
 
 	err = tg3_poll_fw(tp);
 	if (err)
 		return err;
 
+	tg3_mdio_start(tp);
+
 	if ((tp->tg3_flags2 & TG3_FLG2_PCI_EXPRESS) &&
 	    tp->pci_chip_rev_id != CHIPREV_ID_5750_A0) {
 		val = tr32(0x7c00);
Signature · 1 line
1.6.3.3