On Tue, 2011-08-09 at 13:36 +0200, Stanislaw Gruszka wrote: > On Tue, Aug 09, 2011 at 11:45:13AM +0200, Johannes Berg wrote: > > > > > Then if ieee80211_reconfig() is called, we schedule > > > > > sta_cleanup timer. After that, when sysfs drop reference counter we > > > > > free rdev. Then sta_info_cleanup() crash kernel. > > > > > > > > Ok let me get this straight -- even after device_del() we get a resume > > > > callback from the core subsystem? That doesn't seem right. > > > > > > No, ieee80211_reconfig() is called before device_del() (but can be > > > called right after ieee80211_unregister_hw() and perhaps > > > ieee80211_free_hw). > > > > Ah so it's racy. > > > > But I think you meant to say resume() is called before device_del()? > > Yes, but __ieee80211_resume() calls directly ieee80211_reconfig(). Sure. Just trying to make sure I understand where it's coming from. So wiphy_unregister() is still running, before device_del(), but then we get the resume from the core... Shouldn't we implement this logic you just did in cfg80211 instead? 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