Jarkko Nikula <jhnikula@xxxxxxxxx> writes: > On Wed, 30 Mar 2011 09:42:13 +0300 > Kalle Valo <kvalo@xxxxxxxxxx> wrote: > >> Actually I was expecting that you would first issue the disconnect >> command and only then enable elp. The thing is that for sending >> commands we need to wakeup firmware from elp, so enabling elp last >> makes more sense. Was there a reason why you did it in this order? >> > Actually order is this. Both PSM and idle are activated via > wl1251_op_config so those precommands etc are executed first and the ELP > activation after that. See > > wl1251_op_config > -> wl1251_ps_elp_wakeup > ... > -> wl1251_ps_set_mode (those precommands for PSM and idle) > -> wl1251_ps_elp_sleep (+ called from other functions as well) > -> ieee80211_queue_delayed_work(wl->hw, &wl->elp_work, delay); > -> wl1251_elp_work (ELP activated here) Ah, of course. Forgot that we delay elp. >> My idea was that cmd and acx files contain only the firmware >> interface, nothing more. I assume that firmware knows nothing this new >> value, right? >> > Ok, this is good to know. My bad, I should document this properly in the headers. >> Another way to do this would be that you create a new state enum to >> wl1251.h with the three states above and then change >> wl1251_ps_set_mode(), and it's callers, to use the new enum. That way >> you can keep cmd.h intact. >> >> Also I'm guessing that in the future we need to store the new state >> enum to struct wl1251. >> > This sounds much better idea. E.g. now the code is a bit unclear as the > flag psm is used also when in idle. I think the flag psm is better to > replace by some ps_mode state variable since then it can be used to > distinguish the PSM and idle if there's ever need to do so and no risk > that psm and new variable goes out of sync. Good idea, this way it is more robust. -- Kalle Valo -- 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