diff options
| author | Sujith Manoharan <c_manoha@qca.qualcomm.com> | 2014-10-17 07:40:12 +0530 |
|---|---|---|
| committer | John W. Linville <linville@tuxdriver.com> | 2014-10-27 14:16:14 -0400 |
| commit | ae2ff23930d78ff619852c47a4b89aef5a26ef2b (patch) | |
| tree | 79962d5c0efa616634d6967dc10fee8f95c8b30f /include/linux | |
| parent | 5555c955249b0d942e8ae066e80a24237b16e7f8 (diff) | |
ath9k: Set ATH_OP_HW_RESET before HW reset
When a HW reset is done, the interrupt tasklet is
disabled before ISRs are disabled in the HW. This
allows a small window where the HW can still generate
interrupts. Since the tasklet is disabled and not killed,
it is not scheduled but deferred for execution at a later
time.
This happens because ATH_OP_HW_RESET is not set when ath_reset()
is called. When the hw_reset_work workqueue is used, this
problem doesn't arise because ATH_OP_HW_RESET is set
and the ISR bails out.
Set ATH_OP_HW_RESET properly in ath_reset() to avoid
this race - all the ath_reset_internal() callers have
been converted to use ath_reset() in the previous patch.
Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions
