lkml.org 
[lkml]   [2013]   [May]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: Bisected 3.9 regression for iwl4965 connection problem to 1672c0e3
From
Date
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



\
 
 \ /
  Last update: 2013-05-24 22:41    [W:0.113 / U:0.060 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site