On Sun, Feb 19, 2017 at 09:16:01AM +0000, Grumbach, Emmanuel wrote: > > This should in theory fix a detangled drv from the drv list should either of the > > opmode modules loaded and handled registration for the drv. > > > > The path of having the opmode registration deal with the drv opmode start is > > actually the more common path. The other path, from the async callback is > > rathe rare (1/8 or so times for me) -- it happens when the the opmode > > driver's init routine completed prior to the driver's async callback opmode > > start call. > > I'd claim it should never happen unless you have several devices on the system using the same > opmode, or unless you do: > modprobe iwlwifi #which will load iwl{d,m}vm > rmmod iwl{d,m}vm #and do _not_ remove iwlwifi > modprobe iwlwifi That is indeed one way one can easily reproduce this. There are however other ways too. Try a loop of modprobe -r iwlmvm (which removes iwlwifi) followed by modprobe iwlmvm; while this check for which path is taken, or better yet check if the list of drvs is empty on opmode registration. Every now and then I see the list is empty. I have a feeling this is then also a rare rarely observed by your QA team as well, so this code then is also stitching together a set of sequence calls for both paths. > > Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxxxx> > > --- > > Luca is OOO, but this looks fine to me. Reviewed-by ? Luis