On Thu, 2014-05-22 at 15:59 +0200, Michal Kazior wrote: > On 22 May 2014 15:45, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > > On Thu, 2014-05-22 at 15:28 +0200, Michal Kazior wrote: > >> vif->csa_active is protected by mutexes only. This > >> means it is unreliable to depend on it on codeflow > >> in non-sleepable beacon and CSA code. There was no > >> guarantee to have vif->csa_active update be > >> visible before beacons are updated on SMP systems. > >> > >> Using csa counter offsets which are embedded in > >> beacon struct (and thus are protected with single > >> RCU assignment) is much safer. > > > > This seems reasonable, but many uses of csa_active remain, no? hwsim for > > example seems to access it without locking as well. > > Since the problem could be split I went with fixing things step-by-step. > > I was trying to tackle csa_active issue as well but I'm yet to arrive > at a satisfactory solution. It's probably best to kill it and > introduce a drv_switch_beacon_done(). > > With my patchset csa_active isn't as critical for decision making in the code. Ok, thanks for the explanation. 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