linux-stable/drivers/usb/musb
Xingxing Luo 33d7e37232 usb: musb: Get the musb_qh poniter after musb_giveback
When multiple threads are performing USB transmission, musb->lock will be
unlocked when musb_giveback is executed. At this time, qh may be released
in the dequeue process in other threads, resulting in a wild pointer, so
it needs to be here get qh again, and judge whether qh is NULL, and when
dequeue, you need to set qh to NULL.

Fixes: dbac5d07d1 ("usb: musb: host: don't start next rx urb if current one failed")
Cc: stable@vger.kernel.org
Signed-off-by: Xingxing Luo <xingxing.luo@unisoc.com>
Link: https://lore.kernel.org/r/20230919033055.14085-1-xingxing.luo@unisoc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-10-02 13:37:57 +02:00
..
Kconfig usb: musb: mpfs: convert SOC_MICROCHIP_POLARFIRE to ARCH_MICROCHIP_POLARFIRE 2023-03-16 12:14:33 +01:00
Makefile usb: musb: Drop old unused am35x glue layer 2022-11-29 08:56:09 +01:00
cppi_dma.h usb: musb: Remove unused function declarations 2023-08-08 10:36:43 +02:00
da8xx.c usb: musb: da8xx: Convert to platform remove callback returning void 2023-04-05 19:07:41 +02:00
jz4740.c usb: Explicitly include correct DT includes 2023-07-25 18:20:02 +02:00
mediatek.c usb: Explicitly include correct DT includes 2023-07-25 18:20:02 +02:00
mpfs.c usb: Explicitly include correct DT includes 2023-07-25 18:20:02 +02:00
musb_core.c usb: musb: Fix deferred probing 2023-08-04 14:45:58 +02:00
musb_core.h ARM/musb: omap2: Remove global GPIO numbers from TUSB6010 2023-05-24 15:01:59 +02:00
musb_cppi41.c usb: musb: cppi41: Switch to use dev_err_probe() helper 2022-09-27 10:36:06 +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: Modify the "HWVers" register address 2023-10-02 13:37:08 +02:00
musb_dma.h usb: musb: Remove unused function declarations 2023-08-08 10:36:43 +02:00
musb_dsps.c usb: Explicitly include correct DT includes 2023-07-25 18:20:02 +02:00
musb_gadget.c usb: musb: Remove an unnecessary NULL value 2023-08-04 14:48:55 +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: Get the musb_qh poniter after musb_giveback 2023-10-02 13:37:57 +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: tracing: Use the new __vstring() helper 2022-07-19 11:20:24 -04:00
musb_virthub.c usb: musb: Allow running without CONFIG_USB_PHY 2022-11-09 12:39:13 +01:00
musbhsdma.c usb: musb: dma: Remove unused variable 2021-02-05 10:27:18 +01:00
omap2430.c usb: musb: omap2430: Convert to platform remove callback returning void 2023-04-05 19:07:42 +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: Explicitly include correct DT includes 2023-07-25 18:20:02 +02:00
tusb6010.c usb: musb: Use read_poll_timeout() 2023-07-25 18:18:18 +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: ux500: Convert to platform remove callback returning void 2023-04-05 19:07:42 +02:00
ux500_dma.c