summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Carlson <mcarlson@broadcom.com>2009-04-20 08:58:52 +0200
committerDavid S. Miller <davem@davemloft.net>2009-04-21 10:41:03 +0200
commitdaba2a631d2b7831b6a021b36d61314a9153526e (patch)
treef720e515b297e41930e2e2d9864d995bbb1dd156
parenttg3: Limit CLKREQ fix to A[01] of 57780 asic rev (diff)
downloadlinux-daba2a631d2b7831b6a021b36d61314a9153526e.tar.xz
linux-daba2a631d2b7831b6a021b36d61314a9153526e.zip
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>
-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)
}
}
- __tg3_set_mac_addr(tp, 0);
-
if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5906) {
u32 val;
@@ -6357,6 +6355,8 @@ static int tg3_halt(struct tg3 *tp, int kind, int silent)
tg3_abort_hw(tp, silent);
err = tg3_chip_reset(tp);
+ __tg3_set_mac_addr(tp, 0);
+
tg3_write_sig_legacy(tp, kind);
tg3_write_sig_post_reset(tp, kind);