ath9k: Fix 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)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 19 Jun 2009 15:50:17 +0000 (11:50 -0400)
commitf0214843ba23d9bf6dc6b8ad2c6ee27b60f0322e
tree30bfe0824da9cda7711bd589fce6fa81406906e0
parentf72151fb6820e90ce12a15e2768aa41150c5186d
ath9k: Fix PCI FATAL interrupts by restoring RETRY_TIMEOUT disabling

An earlier commit, 'ath9k: remove dummy PCI "retry timeout" fix', removed
code that was documented to disable RETRY_TIMEOUT register (PCI reg
0x41) since it was claimed to be a no-op. However, it turns out that
there are some combinations of hosts and ath9k-supported cards for
which this is not a no-op (reg 0x41 has value 0x80, not 0) and this
code (or something similar) is needed. In such cases, the driver may
be next to unusable due to very frequent PCI FATAL interrupts from the
card.

Reverting the earlier commit, i.e., restoring the RETRY_TIMEOUT
disabling, seems to resolve the issue. Since the removal of this code
was not based on any known issue and was purely a cleanup change, the
safest option here is to just revert that commit. Should there be
desire to clean this up in the future, the change will need to be
tested with a more complete coverage of cards and host systems.

http://bugzilla.kernel.org/show_bug.cgi?id=13483

Cc: stable@kernel.org
Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/pci.c