Search Linux Wireless

Re: [PATCH v2 3/7] nl80211/cfg80211: add ability to enable TX on op-channel

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

 



On 06/20/2012 10:46 AM, Johannes Berg wrote:
> On Wed, 2012-06-20 at 10:44 +0200, Johannes Berg wrote:
>>> +	if ((!chan->radar_detect_timeout ||
>>> +	     time_is_after_jiffies(chan->radar_detect_timeout)) &&
>>> +	    (chan->flags & IEEE80211_CHAN_RADAR))
>>> +		return -EPERM;
>>
>> Ok so you reject it if it's 0, but the jiffies calculation could return
>> 0 too.. in fact, since jiffies start at -5 minutes on boot, you might
>> even hit it if you start radar detection 4 minutes after boot.
> 
> Also, it seems that the value should be reset eventually ... at least on
> interface down or so. Otherwise you can start CAC, then bring the
> interface down to stop the device, and then bring it back up (CAC check
> is no longer running) and then you can use the channel after some time
> even though you never really checked for radar...
> 
No, if you bring it back up on the same DFS channel,
radar_detection_timeout will be set back to +60s by
start_radar_detection(). Looks safe to me.

> And if you start CAC on two different devices on the same channel, but
> they happen to share channel structs in the driver then this will all
> conflict quite badly.
> 
Details ;) In fact, if you start device A at a DFS channel and device B
at the same channel 50secs later and device A did not detect radars
after 60secs, ideally both should get TX enabled at the same time with
B's CAC being aborted after 10secs.

For that radar_detect_timeout had to be per wiphy.

With the proposal here you have to wait for the last device to pass the
CAC and if you alternatively put devices A and B up and down every
30secs you can effectively prevent them from TXing forever.
> 
> This needs a lot of more thinking it seems.
> 
> johannes
> 


--
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