linux-stable/drivers/usb/musb
Viraj Shah 21b5fcdccb 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: ea2f35c01d ("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>
2021-10-22 11:12:45 +02:00
..
Kconfig usb: musb: select GENERIC_PHY instead of depending on it 2021-10-13 14:00:41 +02:00
Makefile usb: musb: remove dummy driver musb_am335x.c 2020-01-15 14:47:00 +01:00
am35x.c usb: musb: remove references to default_a of struct usb_otg 2018-05-22 12:03:25 +02:00
cppi_dma.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
cppi_dma.h
da8xx.c usb: musb: remove an unused variable 2018-05-31 12:44:39 +02:00
davinci.c usb: musb: davinci: Convert to use GPIO descriptor 2020-01-15 14:47:00 +01:00
davinci.h USB: musb: Use the correct style for SPDX License Identifier 2020-04-16 14:32:47 +02:00
jz4740.c usb: musb: jz4740: Add missing CR to error strings 2021-02-05 10:27:18 +01:00
mediatek.c usb: musb: mediatek: Expose role-switch control to userspace 2021-09-14 11:55:22 +02:00
musb_core.c usb: musb: Implement tracing for state change events 2021-06-14 10:25:16 +02:00
musb_core.h usb: musb: musb_core: Add space after that ',' 2021-04-22 10:49:22 +02:00
musb_cppi41.c usb: musb: remove duplicated quirks flag 2018-05-22 12:03:24 +02:00
musb_debug.h USB: musb: Use the correct style for SPDX License Identifier 2020-04-16 14:32:47 +02:00
musb_debugfs.c usb: musb: Fix runtime PM imbalance on error 2020-05-25 13:36:31 +02:00
musb_dma.h USB: musb: Use the correct style for SPDX License Identifier 2020-04-16 14:32:47 +02:00
musb_dsps.c usb: musb: dsps: Fix the probe error path 2021-10-13 14:12:49 +02:00
musb_gadget.c usb: musb: Balance list entry in musb_gadget_queue 2021-10-22 11:12:45 +02:00
musb_gadget.h USB: musb: Use the correct style for SPDX License Identifier 2020-04-16 14:32:47 +02:00
musb_gadget_ep0.c usb: musb: gadget: Use fallthrough pseudo-keyword 2020-10-10 12:32:29 +02:00
musb_host.c usb: musb: Remove unused function argument dma, qh, offset, length 2021-05-10 16:21:09 +02:00
musb_host.h usb: musb: Remove duplicate declaration of functions 2021-05-10 16:20:41 +02:00
musb_io.h USB: musb: Use the correct style for SPDX License Identifier 2020-04-16 14:32:47 +02:00
musb_regs.h USB: musb: Use the correct style for SPDX License Identifier 2020-04-16 14:32:47 +02:00
musb_trace.c
musb_trace.h usb: musb: Implement tracing for state change events 2021-06-14 10:25:16 +02:00
musb_virthub.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
musbhsdma.c usb: musb: dma: Remove unused variable 2021-02-05 10:27:18 +01:00
omap2430.c usb: musb: Fix suspend and resume issues for PHYs on I2C and SPI 2021-07-27 16:31:02 +02:00
omap2430.h USB: musb: Use the correct style for SPDX License Identifier 2020-04-16 14:32:47 +02:00
sunxi.c usb: musb: sunxi: Don't print error on MUSB_ULPI_BUSCONTROL access 2021-10-22 11:12:14 +02:00
tusb6010.c Merge 5.15-rc3 into usb-next 2021-09-27 16:34:40 +02:00
tusb6010.h USB: musb: Use the correct style for SPDX License Identifier 2020-04-16 14:32:47 +02:00
tusb6010_omap.c
ux500.c usb: musb: remove references to default_a of struct usb_otg 2018-05-22 12:03:25 +02:00
ux500_dma.c usb: musb/ux500: Use dma_request_chan() instead dma_request_slave_channel() 2020-01-15 14:46:58 +01:00