Search Linux Wireless

Re: Bisected 3.9 regression for iwl4965 connection problem to 1672c0e3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 07, 2013 at 05:35:25PM +0200, Stanislaw Gruszka wrote:
> On Tue, May 07, 2013 at 03:53:30PM +0200, Johannes Berg wrote:
> > > I'm not sure if I like to add passive_no_rx to iwlegacy. Stopping queues
> > > and waiting for beacon looks sticky, what happen if beacon will not be
> > > received?
> > 
> > Good question, do we get stuck? I was assuming we'd time out, but maybe
> > that's not the case?
> 
> 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() ?

Stanislaw

--
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




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux