mirror of https://github.com/torvalds/linux.git
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:
|
||
|---|---|---|
| .. | ||
| Kconfig | ||
| Makefile | ||
| am35x.c | ||
| cppi_dma.c | ||
| cppi_dma.h | ||
| da8xx.c | ||
| davinci.c | ||
| davinci.h | ||
| jz4740.c | ||
| mediatek.c | ||
| musb_core.c | ||
| musb_core.h | ||
| musb_cppi41.c | ||
| musb_debug.h | ||
| musb_debugfs.c | ||
| musb_dma.h | ||
| musb_dsps.c | ||
| musb_gadget.c | ||
| musb_gadget.h | ||
| musb_gadget_ep0.c | ||
| musb_host.c | ||
| musb_host.h | ||
| musb_io.h | ||
| musb_regs.h | ||
| musb_trace.c | ||
| musb_trace.h | ||
| musb_virthub.c | ||
| musbhsdma.c | ||
| omap2430.c | ||
| omap2430.h | ||
| sunxi.c | ||
| tusb6010.c | ||
| tusb6010.h | ||
| tusb6010_omap.c | ||
| ux500.c | ||
| ux500_dma.c | ||