diff options
author | Sujith Manoharan <c_manoha@qca.qualcomm.com> | 2013-12-24 10:44:25 +0530 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-01-03 15:36:58 -0500 |
commit | 415ec61b66198f93962b76107f3324571475a3e2 (patch) | |
tree | 7ab89ba603e5e92095b9f4223eb0b51b34a19a16 /drivers/net/wireless/ath/ath9k/beacon.c | |
parent | 6549a8606d0a6cc45d0984893c859a6161c227b7 (diff) | |
download | lwn-415ec61b66198f93962b76107f3324571475a3e2.tar.gz lwn-415ec61b66198f93962b76107f3324571475a3e2.zip |
ath9k: Remove RX Poll
This patch removes the convoluted and hacky method of
monitoring for connectivity. We rely on mac80211's connection
loss logic and doing it in the driver is not necessary.
The HW check for MAC/BB hangs is also simplified, there
is no need to have a separate work instance for it.
Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/beacon.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/beacon.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/beacon.c b/drivers/net/wireless/ath/ath9k/beacon.c index 112aff720e13..2e8bba0eb361 100644 --- a/drivers/net/wireless/ath/ath9k/beacon.c +++ b/drivers/net/wireless/ath/ath9k/beacon.c @@ -337,8 +337,14 @@ void ath9k_beacon_tasklet(unsigned long data) ath9k_hw_check_nav(ah); - if (!ath9k_hw_check_alive(ah)) - ieee80211_queue_work(sc->hw, &sc->hw_check_work); + /* + * If the previous beacon has not been transmitted + * and a MAC/BB hang has been identified, return + * here because a chip reset would have been + * initiated. + */ + if (!ath_hw_check(sc)) + return; if (sc->beacon.bmisscnt < BSTUCK_THRESH * sc->nbcnvifs) { ath_dbg(common, BSTUCK, |