Search Linux Wireless

Re: [PATCH 6/6] ath9k: Process beacons properly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Sujith Manoharan wrote:
> From: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx>
> 
> When the current operating channel context has
> been marked as ATH_CHANCTX_STATE_FORCE_ACTIVE,
> do not process beacons that might be received,
> since we have to wait for the station to become
> authorized.
> 
> Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx>
> ---
>  drivers/net/wireless/ath/ath9k/channel.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/ath/ath9k/channel.c b/drivers/net/wireless/ath/ath9k/channel.c
> index 16bed6a..55f2369 100644
> --- a/drivers/net/wireless/ath/ath9k/channel.c
> +++ b/drivers/net/wireless/ath/ath9k/channel.c
> @@ -492,7 +492,8 @@ void ath_chanctx_event(struct ath_softc *sc, struct ieee80211_vif *vif,
>  		break;
>  	case ATH_CHANCTX_EVENT_BEACON_RECEIVED:
>  		if (!test_bit(ATH_OP_MULTI_CHANNEL, &common->op_flags) ||
> -		    sc->cur_chan == &sc->offchannel.chan)
> +		    sc->cur_chan == &sc->offchannel.chan ||
> +		    sc->sched.state == ATH_CHANCTX_STATE_FORCE_ACTIVE)
>  			break;

The check for FORCE_ACTIVE needs to be done after we set
beacon_miss/beacon_pending to zero.

Also, since we now have a small window where we start receiving
beacons while waiting for the handshake to complete, we
end up rearming the timer based on the cached tsf_val of the current
channel. But, since it will be zero the first time the
context becomes active, the timeout value is assigned
spurious values.

I'll address both these issues and send a v2.

Sujith
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux