diff options
author | Jouni Malinen <jouni.malinen@atheros.com> | 2009-06-16 04:59:23 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-06-19 11:50:18 -0400 |
commit | 8451d22dad40a66416b8d9c0952efa09ec5398c5 (patch) | |
tree | 4e302f427f3ef745ea6393a075873755995a29a4 /drivers | |
parent | 464902e812025792c9e33e19e1555c343672d5cf (diff) |
ath5k: avoid PCI FATAL interrupts by restoring RETRY_TIMEOUT disabling
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>
Cc: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/ath/ath5k/base.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c index 55f7de09d134..fc5ba0e3a681 100644 --- a/drivers/net/wireless/ath/ath5k/base.c +++ b/drivers/net/wireless/ath/ath5k/base.c | |||
@@ -686,6 +686,13 @@ ath5k_pci_resume(struct pci_dev *pdev) | |||
686 | if (err) | 686 | if (err) |
687 | return err; | 687 | return err; |
688 | 688 | ||
689 | /* | ||
690 | * Suspend/Resume resets the PCI configuration space, so we have to | ||
691 | * re-disable the RETRY_TIMEOUT register (0x41) to keep | ||
692 | * PCI Tx retries from interfering with C3 CPU state | ||
693 | */ | ||
694 | pci_write_config_byte(pdev, 0x41, 0); | ||
695 | |||
689 | err = request_irq(pdev->irq, ath5k_intr, IRQF_SHARED, "ath", sc); | 696 | err = request_irq(pdev->irq, ath5k_intr, IRQF_SHARED, "ath", sc); |
690 | if (err) { | 697 | if (err) { |
691 | ATH5K_ERR(sc, "request_irq failed\n"); | 698 | ATH5K_ERR(sc, "request_irq failed\n"); |