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