2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-22 20:43:56 +08:00
linux-next/drivers/usb/gadget
John Keeping addfc5823d usb: gadget: ffs: handle I/O completion in-order
By submitting completed transfers to the system workqueue there is no
guarantee that completion events will be queued up in the correct order,
as in multi-processor systems there is a thread running for each
processor and the work items are not bound to a particular core.

This means that several completions are in the queue at the same time,
they may be processed in parallel and complete out of order, resulting
in data appearing corrupt when read by userspace.

Create a single-threaded workqueue for FunctionFS so that data completed
requests is passed to userspace in the order in which they complete.

Acked-by: Michal Nazarewicz <mina86@mina86.com>
Signed-off-by: John Keeping <john@metanate.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
2017-09-28 12:37:24 +03:00
..
function usb: gadget: ffs: handle I/O completion in-order 2017-09-28 12:37:24 +03:00
legacy USB: g_mass_storage: Fix deadlock when driver is unbound 2017-09-22 18:29:00 +02:00
udc usb: gadget: udc: renesas_usb3: Fix return value of usb3_write_pipe() 2017-09-28 12:31:51 +03:00
composite.c usb: changes for v4.13 merge window 2017-06-20 11:39:34 +08:00
config.c usb: Use (foo *) instead of (foo*). 2016-06-21 11:16:15 +03:00
configfs.c usb: gadget: configfs: use hexadecimal values and new line 2017-06-13 13:21:01 +03:00
configfs.h
epautoconf.c usb: gadget: epautoconf: add usb_ep_autoconfig_release() function 2015-09-27 10:54:31 -05:00
functions.c
Kconfig usb: gadget: allow serial gadget console on other configs 2017-08-15 14:18:54 +03:00
Makefile
u_f.c usb: gadget: remove useless parameter in alloc_ep_req() 2016-08-25 12:13:19 +03:00
u_f.h usb: gadget: remove useless parameter in alloc_ep_req() 2016-08-25 12:13:19 +03:00
u_os_desc.h
usbstring.c