aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorMatt Carlson <mcarlson@broadcom.com>2009-04-20 02:58:52 -0400
committerDavid S. Miller <davem@davemloft.net>2009-04-21 04:41:03 -0400
commitdaba2a631d2b7831b6a021b36d61314a9153526e (patch)
treef720e515b297e41930e2e2d9864d995bbb1dd156 /drivers/net
parent9cf74ebb634fe79587cf9a1d5ff971391dd12e1b (diff)
tg3: Restore LAA sooner in shutdown sequence
After a shutdown reset, the LAA needs to be restored before posting the post-reset signature in shared memory. If the LAA is not restored before then, the bootcode will assume the factory default MAC address and WOL will not work with the LAA. 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')
-rw-r--r--drivers/net/tg3.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index 0501fb48a004..f2b7ff80df98 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -2456,8 +2456,6 @@ static int tg3_set_power_state(struct tg3 *tp, pci_power_t state)
2456 } 2456 }
2457 } 2457 }
2458 2458
2459 __tg3_set_mac_addr(tp, 0);
2460
2461 if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5906) { 2459 if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5906) {
2462 u32 val; 2460 u32 val;
2463 2461
@@ -6357,6 +6355,8 @@ static int tg3_halt(struct tg3 *tp, int kind, int silent)
6357 tg3_abort_hw(tp, silent); 6355 tg3_abort_hw(tp, silent);
6358 err = tg3_chip_reset(tp); 6356 err = tg3_chip_reset(tp);
6359 6357
6358 __tg3_set_mac_addr(tp, 0);
6359
6360 tg3_write_sig_legacy(tp, kind); 6360 tg3_write_sig_legacy(tp, kind);
6361 tg3_write_sig_post_reset(tp, kind); 6361 tg3_write_sig_post_reset(tp, kind);
6362 6362