Searched hist:"21 b5fcdccb32ff09b6b63d4a83c037150665a83f" (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/drivers/usb/musb/ |
H A D | musb_gadget.c | diff 21b5fcdccb32ff09b6b63d4a83c037150665a83f Thu Oct 21 04:36:44 CDT 2021 Viraj Shah <viraj.shah@linutronix.de> usb: musb: Balance list entry in musb_gadget_queue
musb_gadget_queue() adds the passed request to musb_ep::req_list. If the endpoint is idle and it is the first request then it invokes musb_queue_resume_work(). If the function returns an error then the error is passed to the caller without any clean-up and the request remains enqueued on the list. If the caller enqueues the request again then the list corrupts.
Remove the request from the list on error.
Fixes: ea2f35c01d5ea ("usb: musb: Fix sleeping function called from invalid context for hdrc glue") Cc: stable <stable@vger.kernel.org> Signed-off-by: Viraj Shah <viraj.shah@linutronix.de> Link: https://lore.kernel.org/r/20211021093644.4734-1-viraj.shah@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|