ath9k: Fix beacon miss handling
authorSujith Manoharan <c_manoha@qca.qualcomm.com>
Wed, 10 Sep 2014 13:46:00 +0000 (19:16 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 11 Sep 2014 19:27:40 +0000 (15:27 -0400)
commit167bf96dd87d2a8360cb9e9783006876dac4f579
tree90a91f5ebff867b65ffc2a6ef87087f89159a412
parent4899827d39ec913d4e46e77f4537945f3e68dca4
ath9k: Fix beacon miss handling

The NoA duration for a GO is half the beacon interval
and a concurrent context like a STA can be active only
for that duration, before switching back to the GO's
operating channel.

Currently, when multiple beacons are missed, the dwell
time for the STA context is extended to improve the
chances of receiving a beacon. But the NoA is not updated
and this will cause problems since the GO is offline
for a period that is longer than the advertised duration.

Fix this by ensuring that the NoA is updated first before
extending the time slot for the STA context. Also make
sure that non-periodic NoA is used for a one-time, longer
absence period.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/ath9k.h
drivers/net/wireless/ath/ath9k/channel.c