Search Linux Wireless

Re: mac80211: 3.9.0+: Invalid WDS/flush state and non-connecting station.

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

 



On Fri, 2013-05-10 at 14:21 -0700, Ben Greear wrote:

> void cfg80211_mlme_down(struct cfg80211_registered_device *rdev,
> 			struct net_device *dev)
> {
> 	struct wireless_dev *wdev = dev->ieee80211_ptr;
> 	struct cfg80211_deauth_request req;
> 	u8 bssid[ETH_ALEN];
> 
> 	ASSERT_WDEV_LOCK(wdev);
> 
> 	printk("mlme_down: %s: type: %i  sme_state: %i current-bss: %p\n",
>                 dev->name, (int)(wdev->iftype), (int)(wdev->sme_state),
> 	       wdev->current_bss);
> 
> I see this printout for the stuck station (this is dmesg | grep sta74,
> so it skips errors about other interfaces that are also hung).
> 
> I am guessing we should never be calling mlme_down with state
> of CFG80211_SME_CONNECTED when bss is NULL?

We should _never_ be in a state where current_bss is NULL but the state
is != IDLE. The question I can't seem to find an answer for is how we
got into that state, that we're in the state in down() is really less
interesting.

Since you seem to be able to reproduce this, maybe it'd help to mark all
state transitions and current_bss assignments, and then backtrack them
after the fact.

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




[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