On Fri, Mar 18, 2016 at 09:30:36AM +0100, Vishal Thanki wrote:
> @@ -734,6 +744,8 @@ void rt2x00usb_uninitialize(struct rt2x00_dev *rt2x00dev)
> {
> struct data_queue *queue;
>
> + usb_kill_anchored_urbs(rt2x00dev->anchor);
As already pointed in different email this is not good place either ...
This should be placed in rt2x00lib_remove_dev() i.e:
if (rt2x00_is_usb(rt2x00dev)) {
usb_kill_anchored_urbs(rt2x00dev->anchor);
hrtimer_cancel(&rt2x00dev->txstatus_timer);
cancel_work_sync(&rt2x00dev->rxdone_work);
cancel_work_sync(&rt2x00dev->txdone_work);
}
Since queues are flushed, hrtimer and works will not rearm, so
this should be enough to stop the driver properly.
Stanislaw
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html