On Thu, Aug 2, 2012 at 2:02 AM, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > Oh, hm. I didn't think it could unregister before we give up our > reference, but I guess that makes sense after all. > > I'm not sure there's an easy way to fix it other than making the driver > not call cfg80211_disconnected() in case the disconnect was requested by > cfg80211 -- that call isn't needed and will not do anything at all, but > I'm not sure how easy that would be in the driver? I guess you've considered clearing all the pending work before removing a netdev from the rdev's list? I think a driver modification would be easy, if it is the right solution. lbs_disconnect() is the function that calls cfg80211_disconnected(). We only ever call this in 2 contexts: 1. From our cfg80211_ops.disconnect handler - you say this isn't needed 2. From the netdev ndo_stop handler - I guess it is also not necessary to inform cfg80211 that we have disconnected at this point, it is kind of obvious..? So completely removing the call to cfg80211_disconnected() may be the right option here, is that what you recommend? Thanks Daniel -- 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