Home
last modified time | relevance | path

Searched hist:"91 c42b0da8e353697c9b49fe541056c5d0518c49" (Results 1 – 1 of 1) sorted by relevance

/openbmc/linux/drivers/usb/gadget/function/
H A Df_loopback.cdiff 91c42b0da8e353697c9b49fe541056c5d0518c49 Wed Oct 14 15:49:40 CDT 2015 Krzysztof Opasiak <k.opasiak@samsung.com> usb: gadget: loopback: Fix looping back logic implementation

Since commit e0857ce58e8658657f5f12fe25272b93cfeb16aa
("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: e0857ce58e8658657f5f12fe25272b93cfeb16aa
("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>