> But hadn't you removed the RTNL locking to make the multi-BSS code easier? Well, yes, but that applies mostly to mac80211's internal BSS/interface list handling. We still use the RTNL for list updates so iterating the list holding the RTNL is the way to go if you need schedulable access. > I think I can code around the problem to make the ERP configuration do > a simple check if any interface has short preamble, and if that is the > case all interfaces will have short preamble. The same would go for > short slot time. > Apparently the current code was broken in that respect anyway since it > would assume the timing of the last interface in the list. I think that's not going to currently happen at all since we have no API for hostapd to set short slot/preamble at all! :) And this sort of complication is why we have no such setting, some hardware like b43 is able to set short preamble per frame (!) so there the setting could be per BSS, but hostapd would have to know. > As for the beaconing, the only location I cannot get around updating > the beacon in the driver from scheduled context is in the > suspend/resume path. And I believe resuming a mac80211 network > interface is already a source of problems anyway... > Well I'll dive a bit deeper into this and see what can be done about this. Feel free to add an iterator to mac80211 that uses the rtnl if that helps, adding more code to workaround the fact that it doesn't exist doesn't seem too hot since this was exactly added for that reason (and I think you're the only user of that iterator...) johannes
Attachment:
signature.asc
Description: This is a digitally signed message part