summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBreno Leitao <leitao@linux.vnet.ibm.com>2009-11-26 07:31:49 +0000
committerDavid S. Miller <davem@davemloft.net>2009-12-02 15:36:28 -0800
commit529fab67d78747ddc3a8a2bbd0d1aab1d059439f (patch)
treef054f5c48a18c70c023af0551be28d899a1bf5b6
parent7c7afb083675b3d4d012a2aacec3a958ba484ab0 (diff)
bnx2: EEH is failing with timeout
bnx2 is failing when a PCI error is detected. The error is the following: bnx2: Chip not in correct endian mode bnx2: fw sync timeout, reset code = 404001d This error was caused because the way pci_restore_state() is working after commit 4b77b0a2ba27d64f58f16d8d4d48d8319dda36ff ("PCI: Clear saved_state after the state has been restored"). Signed-off-by: Breno Leitao<leitao@linux.vnet.ibm.com> Acked-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/bnx2.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index 08cddb6ff74..7fa4048b58d 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -8264,6 +8264,7 @@ static pci_ers_result_t bnx2_io_slot_reset(struct pci_dev *pdev)
}
pci_set_master(pdev);
pci_restore_state(pdev);
+ pci_save_state(pdev);
if (netif_running(dev)) {
bnx2_set_power_state(bp, PCI_D0);