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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to