linux-stable/drivers/usb/gadget
Krzysztof Opasiak 91c42b0da8 usb: gadget: loopback: Fix looping back logic implementation
Since commit e0857ce58e
("usb: gadget: loopback: don't queue requests to bogus endpoints")

Loopback function is not realy working as that commit removed
all looping back logic. After that commit ep-out works like
/dev/null and ep-in works like /dev/zero.

This commit fix this issue by allocating set of out requests
and set of in requests but each out req shares buffer with
one in req:

out_req->buf ---> buf <--- in_req.buf
out_req->context <---> in_req.context

The completion routine simply  enqueue the suitable req in
an oposite direction.

Cc: <stable@vger.kernel.org> # 3.18+
Fixes: e0857ce58e
("usb: gadget: loopback: don't queue requests to bogus endpoints")

Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
2015-10-15 10:19:52 -05:00
..
function usb: gadget: loopback: Fix looping back logic implementation 2015-10-15 10:19:52 -05:00
legacy usb: gadget: legacy: tcm: eliminate abuse of ep->driver data 2015-09-27 10:54:31 -05:00
udc usb: gadget: at91_udc: mention proper dependency 2015-10-01 12:40:23 -05:00
composite.c usb: gadget: composite: fill bcdUSB for any gadget max speed 2015-10-09 16:35:20 -05:00
config.c usb: gadget: add usb otg descriptor allocate and init interface 2015-07-29 09:59:21 -05:00
configfs.c usb: gadget: configfs: allocate and init otg descriptor by otg capabilities 2015-07-29 09:59:21 -05:00
configfs.h usb: gadget: OS descriptors: provide interface directory names 2014-06-19 10:06:48 -05:00
epautoconf.c usb: gadget: epautoconf: add usb_ep_autoconfig_release() function 2015-09-27 10:54:31 -05:00
functions.c
Kconfig usb: gadget: mass_storage: allow for deeper queue lengths 2015-09-27 10:54:31 -05:00
Makefile usb: gadget: use $(srctree) instead of $(PWD) for includes 2014-08-29 15:53:46 -05:00
u_f.c
u_f.h
u_os_desc.h usb: gadget: u_os_desc: helper functions for accessing ext prop buffer 2014-07-10 08:36:51 -05:00
usbstring.c