bnx2x: Move to D0 before clearing MSI/MSI-X configuration.

Move to D0 before clearing MSI/MSI-X configuration. Otherwise MSI/MSI-X
won't be cleared.

Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Vladislav Zolotarov 2011-01-09 02:20:19 +00:00 committed by David S. Miller
parent 4a33bc03ab
commit 084d6cbb13

View File

@ -9508,9 +9508,15 @@ static void __devexit bnx2x_remove_one(struct pci_dev *pdev)
/* Delete all NAPI objects */ /* Delete all NAPI objects */
bnx2x_del_all_napi(bp); bnx2x_del_all_napi(bp);
/* Power on: we can't let PCI layer write to us while we are in D3 */
bnx2x_set_power_state(bp, PCI_D0);
/* Disable MSI/MSI-X */ /* Disable MSI/MSI-X */
bnx2x_disable_msi(bp); bnx2x_disable_msi(bp);
/* Power off */
bnx2x_set_power_state(bp, PCI_D3hot);
/* Make sure RESET task is not scheduled before continuing */ /* Make sure RESET task is not scheduled before continuing */
cancel_delayed_work_sync(&bp->reset_task); cancel_delayed_work_sync(&bp->reset_task);