ath9k_hw: do noise floor calibration only on required chains
authorRajkumar Manoharan <rmanoharan@atheros.com>
Wed, 4 May 2011 14:07:17 +0000 (19:37 +0530)
committerSteve Conklin <sconklin@canonical.com>
Fri, 15 Jul 2011 17:20:48 +0000 (12:20 -0500)
commit4be2534b42efc7b887dbd2677212277ba6ae2639
tree228cd756317f0a8ca0baa6957ac7d44c1e56aebf
parent4d0d61b3e47f6e1389ba030d47f132c4e5a86ff8
ath9k_hw: do noise floor calibration only on required chains

BugLink: http://bugs.launchpad.net/bugs/793702

commit 28ef6450f0182f95c4f50aaa0ab2043a09c72b0a upstream.

At present the noise floor calibration is processed in supported
control and extension chains rather than required chains.
Unnccesarily doing nfcal in all supported chains leads to
invalid nf readings on extn chains and these invalid values
got updated into history buffer. While loading those values
from history buffer is moving the chip to deaf state.

This issue was observed in AR9002/AR9003 chips while doing
associate/dissociate in HT40 mode and interface up/down
in iterative manner. After some iterations, the chip was moved
to deaf state. Somehow the pci devices are recovered by poll work
after chip reset. Raading the nf values in all supported extension chains
when the hw is not yet configured in HT40 mode results invalid values.

Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
drivers/net/wireless/ath/ath9k/calib.c