diff options
author | Matt Carlson <mcarlson@broadcom.com> | 2009-08-28 12:27:50 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-08-29 15:42:27 -0700 |
commit | 0a9140cff22e405fce1747a2e02d41851c36c55a (patch) | |
tree | db68a54a136cde1920541e252c0c77f0abeef9e1 /drivers/net | |
parent | b3df9a514f3c2020952cff34bc5bc6694a31c00c (diff) | |
download | kernel_samsung_smdk4412-0a9140cff22e405fce1747a2e02d41851c36c55a.zip kernel_samsung_smdk4412-0a9140cff22e405fce1747a2e02d41851c36c55a.tar.gz kernel_samsung_smdk4412-0a9140cff22e405fce1747a2e02d41851c36c55a.tar.bz2 |
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.
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/tg3.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 8af2cdf..ab3159e 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -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); |