On Tue, 2008-12-30 at 16:09 +0530, Sujith wrote: > Johannes Berg wrote: > > We already have a bss pointer here, would it be better to pass that in, > > avoid the bss lookup, and do the bss lookup manually in the action frame > > case, to avoid a double lookup here? > > > > We don't have a bss pointer in ieee80211_rx_h_action(), where CSA > action frames are handled too. Yeah I know, I'm just wondering if it's worth saving the lookup in the other case by doing the lookup outside of ieee80211_process_chanswitch() and in ieee80211_rx_h_action() > > Didn't you want to put this into the workqueue? > > Calling ieee80211_hw_config() from the timer was problematic since > drivers might use a mutex, this won't matter. > But if it makes things clearer, I can add it to the workqueue here too. But the RX stuff (rx_h_action) is from a tasklet or directly from the driver, and in the tasklet we can't sleep either, and if we call back from ieee80211_rx() into rx_h_action into the driver again via config() the driver might not like it? Or am I totally off base right now? johannes
Attachment:
signature.asc
Description: This is a digitally signed message part