Search Linux Wireless

Re: [RFC v2 2/2] mac80211: only set CSA beacon when at least one beacon must be transmitted

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

 



Hey Luca,

> With a CSA count of 0, we won't transmit any CSA beacons, because the
> switch will happen before the next TBTT.  To avoid extra work and
> potential confusion in the drivers, complete the CSA immediately,
> instead of waiting for the driver to call ieee80211_csa_finish().
> 
> To keep things simpler, we also switch immediately when the CSA count
> is 1, while in theory we should delay the switch until just before the
> next TBTT.
> 
> Additionally, move the ieee80211_csa_finish() function to cfg.c,
> where it makes more sense (and since we call it from cfg.c now).
> 
> Cc: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx>
> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx>
> ---
> Simon, I think with this we won't need any changes in ath9k, right?

I think you still need to change ieee80211_ibss_process_chanswitch() which 
also calls ieee80211_ibss_csa_beacon() and drv_channel_switch_beacon().

Also, I don't think that this is sufficient for IBSS mode - changing immediately 
without sending any action frame will just split the IBSS network. Action 
frames are currently set in ieee80211_ibss_csa_beacon() as well, with this 
change we should probably move that to another position.

Even if we don't allow count <=1 from userspace as Johannes suggested, we 
still have to fix the CSA handling from other STAs in IBSS.

Cheers,
    Simon
--
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