On Thu, 2015-01-22 at 23:32 +0200, Emmanuel Grumbach wrote: > When we go to suspend, there is complex set of states that > avoids races. The quiescing variable is set whlie > __ieee80211_suspend is running. Then suspended is set. > The code makes sure there is no window without any of these > flags. > > The problem is that workers can still be enqueued while we > are quiescing. This leads to situations where the driver is > already suspending and other flows like disassociation are > handled by a worker. > > To fix this, we need to check quiescing and suspended flags > in the worker itself and not only before enqueueing it. > I also add here extensive documentation to ease the > understanding of these complex issues. Applied. 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