On Thu, Aug 20, 2009 at 08:02:20PM +0200, Johannes Berg wrote: > Since configure_filter can sleep now, any multicast > configuration needed to be postponed to a work struct. > This, however, lead to a problem that we could queue > the work, stop the device and then afterwards invoke > configure_filter which may lead to driver hangs and is > a bug. To fix this, we can just cancel the filter work > since it's unnecessary to do after stopping the hw. > > Since there are various places that call drv_stop, and > two of them do very similar things, the code for them > can be put into a shared function at the same time. > > Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> > Reported-by: Lennert Buytenhek <buytenh@xxxxxxxxxxxxxx> Seems to work for me, I now no longer see firmware commands being posted after ->stop() is called. Tested-by: Lennert Buytenhek <buytenh@xxxxxxxxxxx> -- 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