aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2007-02-13 12:16:45 -0800
committerDavid S. Miller <davem@davemloft.net>2007-02-13 12:16:45 -0800
commit436f137975507b0baab0859a253c3c9332c22f62 (patch)
tree482799400e745c518ee32ad9fa22b02bb4d20ed1
parent[XFRM]: Fix IPv4 tunnel mode decapsulation with IPV6=n (diff)
downloadlinux-dev-436f137975507b0baab0859a253c3c9332c22f62.tar.xz
linux-dev-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>
-rw-r--r--drivers/net/tg3.c3
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);