diff options
author | Michael Chan <mchan@broadcom.com> | 2007-02-13 15:16:45 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2007-02-13 15:16:45 -0500 |
commit | 436f137975507b0baab0859a253c3c9332c22f62 (patch) | |
tree | 482799400e745c518ee32ad9fa22b02bb4d20ed1 /drivers/net/tg3.c | |
parent | e2e01bfef8399c8f39c9fdf4a5576039069e760c (diff) |
[TG3]: Save MSI state before suspend.
This fixes the following problem:
http://bugzilla.kernel.org/show_bug.cgi?id=7969
The MSI state needs to be saved during suspend. PCI state saved
during tg3_init_one() does not contain valid MSI state because
MSI hasn't been enabled.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/tg3.c')
-rw-r--r-- | drivers/net/tg3.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index e136bae61970..0b5b8e7f55ac 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c | |||
@@ -12016,6 +12016,9 @@ static int tg3_suspend(struct pci_dev *pdev, pm_message_t state) | |||
12016 | tp->tg3_flags &= ~TG3_FLAG_INIT_COMPLETE; | 12016 | tp->tg3_flags &= ~TG3_FLAG_INIT_COMPLETE; |
12017 | tg3_full_unlock(tp); | 12017 | tg3_full_unlock(tp); |
12018 | 12018 | ||
12019 | /* Save MSI address and data for resume. */ | ||
12020 | pci_save_state(pdev); | ||
12021 | |||
12019 | err = tg3_set_power_state(tp, pci_choose_state(pdev, state)); | 12022 | err = tg3_set_power_state(tp, pci_choose_state(pdev, state)); |
12020 | if (err) { | 12023 | if (err) { |
12021 | tg3_full_lock(tp, 0); | 12024 | tg3_full_lock(tp, 0); |