Revert part of 3e4242b99ce46fed82aa7f40ad5a1817a2b3bd45,
"Ath5k: suspend/resume fixes".  This commit broke ath5k after a
suspend/resume cycle on my EeePC.

The problem code disables MSI on suspend and enables it on resume. 
However MSI was intentionally *not* enabled on ath5k.  A comment in
un-merged code from a wireless-testing snapshot says that enabling
MSI "results in no interrupts, seems msi support is still buggy".

Signed-off-by: Alan Jenkins <[EMAIL PROTECTED]>

---

Please accept this as an urgent fix to avoid a regression in 2.6.27.
I hope it is straightforward to review.

diff --git a/drivers/net/wireless/ath5k/base.c 
b/drivers/net/wireless/ath5k/base.c
index ebf19bc..cb10d1c 100644
--- a/drivers/net/wireless/ath5k/base.c
+++ b/drivers/net/wireless/ath5k/base.c
@@ -589,7 +589,6 @@ ath5k_pci_suspend(struct pci_dev *pdev, pm_message_t state)
        ath5k_stop_hw(sc);
 
        free_irq(pdev->irq, sc);
-       pci_disable_msi(pdev);
        pci_save_state(pdev);
        pci_disable_device(pdev);
        pci_set_power_state(pdev, PCI_D3hot);
@@ -618,12 +617,10 @@ ath5k_pci_resume(struct pci_dev *pdev)
         */
        pci_write_config_byte(pdev, 0x41, 0);
 
-       pci_enable_msi(pdev);
-
        err = request_irq(pdev->irq, ath5k_intr, IRQF_SHARED, "ath", sc);
        if (err) {
                ATH5K_ERR(sc, "request_irq failed\n");
-               goto err_msi;
+               goto err_pci;
        }
 
        err = ath5k_init(sc);
@@ -644,8 +641,7 @@ ath5k_pci_resume(struct pci_dev *pdev)
        return 0;
 err_irq:
        free_irq(pdev->irq, sc);
-err_msi:
-       pci_disable_msi(pdev);
+err_pci:
        pci_disable_device(pdev);
        return err;
 }

_______________________________________________
ath5k-devel mailing list
ath5k-devel@lists.ath5k.org
https://lists.ath5k.org/mailman/listinfo/ath5k-devel

Reply via email to