On Mon, 2011-06-06 at 18:01 +0200, Ignacy Gawedzki wrote: > > @@ -999,7 +1002,6 @@ int ieee80211_ibss_leave(struct ieee8021 > > kfree_skb(skb); > > > > skb_queue_purge(&sdata->skb_queue); > > - memset(sdata->u.ibss.bssid, 0, ETH_ALEN); > > sdata->u.ibss.ssid_len = 0; > > Shouldn't that second line also move up with the memset? Not really necessary -- that's not used in the RX path. But yeah we can do that for consistency. Also maybe the skb queue purge. > > del_timer_sync(&sdata->u.ibss.timer); > > So this fix relies on the fact that reading sdata->i.ibss.state is an atomic > operation, right? > > Thanks for the patch, I'll give it a try, though it may be some time until I > report further on this, since the problem is difficult to reproduce. Oh ok. Well, I think we should put these changes in anyway since I see nothing preventing the race now. 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