diff options
author | Michael Chan <mchan@broadcom.com> | 2007-02-13 12:16:45 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2007-02-13 12:16:45 -0800 |
commit | 436f137975507b0baab0859a253c3c9332c22f62 (patch) | |
tree | 482799400e745c518ee32ad9fa22b02bb4d20ed1 /drivers/net/tg3.c | |
parent | e2e01bfef8399c8f39c9fdf4a5576039069e760c (diff) | |
download | blackbird-op-linux-436f137975507b0baab0859a253c3c9332c22f62.tar.gz blackbird-op-linux-436f137975507b0baab0859a253c3c9332c22f62.zip |
[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) tp->tg3_flags &= ~TG3_FLAG_INIT_COMPLETE; tg3_full_unlock(tp); + /* Save MSI address and data for resume. */ + pci_save_state(pdev); + err = tg3_set_power_state(tp, pci_choose_state(pdev, state)); if (err) { tg3_full_lock(tp, 0); |