On Wed, 2013-05-22 at 13:59 +0200, Stanislaw Gruszka wrote: > > AFICT, we wake queues only if beacon arrives or mac80211 call drv_config > > with BSS_CHANGED_IDLE. I'm not sure if the latter prevent stuck. > > It should prevent stuck. When we fail to auth, drv_config() with BSS_CHANGED_IDLE > is called via: > > ieee80211_destroy_auth_data -> > ieee80211_vif_release_channel -> > __ieee80211_vif_release_channel -> > ieee80211_unassign_vif_chanctx -> > ieee80211_bss_info_change_notify > > But there is need to have ->vif.chanctx_conf valid in > __ieee80211_vif_release_channel(), where is below condition: > > conf = rcu_dereference_protected(sdata->vif.chanctx_conf, > lockdep_is_held(&local->chanctx_mtx)); > if (!conf) > return; > > I'm not sure if that always happen. Perhaps would be better to change > BSS_CHANGED_IDLE to BSS_CHANGED_BSSID, which is called directly from > ieee80211_destroy_auth_data() ? I don't think the "!conf" can hit in this case, since to even try to associate you have to have a channel context assigned. 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