In the file "/sys/dev/usb/usb.c", the function "usb_rem_task" should wait for the "usb_task_thread()" to finish execution of the callback function. Though this might be impossible due to the contexts from which this function is called. At least one place (see if_udav.c) "usb_rem_task" is called from detach, and the code expects that the callback has returned or is not called, after that "usb_rem_task" returns. Else the callback will access freed memory. Fix: Maybe "usb_xxxx_task" should not be used by if_udav.c, like suggested in another PR?
State Changed From-To: open->suspended Mark suspended awaiting patches.
batch change: For bugs that match the following - Status Is In progress AND - Untouched since 2018-01-01. AND - Affects Base System OR Documentation DO: Reset to open status. Note: I did a quick pass but if you are getting this email it might be worthwhile to double check to see if this bug ought to be closed.