[TG3]: Save MSI state before suspend.
authorMichael Chan <mchan@broadcom.com>
Tue, 13 Feb 2007 20:16:45 +0000 (12:16 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 13 Feb 2007 20:16:45 +0000 (12:16 -0800)
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>
drivers/net/tg3.c

index e136bae619705d19cd243d7f57f5d096d2ef8421..0b5b8e7f55acbba87bc5f7184c6e284ca6e4e4aa 100644 (file)
@@ -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);