]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
ath5k: avoid PCI FATAL interrupts by restoring RETRY_TIMEOUT disabling
authorJouni Malinen <jouni.malinen@atheros.com>
Tue, 16 Jun 2009 08:59:23 +0000 (11:59 +0300)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 2 Jul 2009 23:50:28 +0000 (16:50 -0700)
commit 8451d22dad40a66416b8d9c0952efa09ec5398c5 upstream.

This reverts 'ath5k: remove dummy PCI "retry timeout" fix' on the
same theory as in 'ath9k: Fix PCI FATAL interrupts by restoring
RETRY_TIMEOUT disabling'.

Reported-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/net/wireless/ath5k/base.c

index 32df27a9c7a231bc7fbce3f93ce1b390f855535a..409f022992b1231c53af6120d23f0e695e950b44 100644 (file)
@@ -685,6 +685,13 @@ ath5k_pci_resume(struct pci_dev *pdev)
        if (err)
                return err;
 
+       /*
+        * Suspend/Resume resets the PCI configuration space, so we have to
+        * re-disable the RETRY_TIMEOUT register (0x41) to keep
+        * PCI Tx retries from interfering with C3 CPU state
+        */
+       pci_write_config_byte(pdev, 0x41, 0);
+
        err = request_irq(pdev->irq, ath5k_intr, IRQF_SHARED, "ath", sc);
        if (err) {
                ATH5K_ERR(sc, "request_irq failed\n");