ixgbe: Fixing EEH handler to handle more than one error
authorBreno Leitao <[email protected]>
Tue, 10 Nov 2009 08:37:47 +0000 (08:37 +0000)
committerDavid S. Miller <[email protected]>
Tue, 17 Nov 2009 07:51:32 +0000 (23:51 -0800)
After commmit 4b77b0a2ba27d64f58f16d8d4d48d8319dda36ff EEH breaks
after the second error, since it calls pci_restore_state()
but it returns 0, since pci->state_saved is false.

So, this patch just call pci_save_state() after pci_restore_state().

Signed-off-by: Breno Leitao <[email protected]>
Acked-by: Peter P Waskiewicz Jr <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
drivers/net/ixgbe/ixgbe_main.c

index 5bd9e6bf6f2f0a8cbcc87c94c7613c94bb93a002..a5036f7c19230c75774a209d1a339f8643d02c53 100644 (file)
@@ -5994,6 +5994,7 @@ static pci_ers_result_t ixgbe_io_slot_reset(struct pci_dev *pdev)
        } else {
                pci_set_master(pdev);
                pci_restore_state(pdev);
+               pci_save_state(pdev);
 
                pci_wake_from_d3(pdev, false);