]> git.ipfire.org Git - people/arne_f/kernel.git/commit
usb: dwc3: gadget: fix set_halt() bug with pending transfers
authorFelipe Balbi <balbi@ti.com>
Mon, 10 Nov 2014 14:55:44 +0000 (08:55 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 14 Nov 2014 18:10:38 +0000 (10:10 -0800)
commit175b226e597820f450d11ad437d8aa084c37ad80
tree23d9e25604a8e3e52b59352ba62ccd90b4ca627e
parent89b0d0d828f84827f248db70a8f3da08c019b662
usb: dwc3: gadget: fix set_halt() bug with pending transfers

[ Upstream commit 7a60855972f0d3c014093046cb6f013a1ee5bb19 ]

According to our Gadget Framework API documentation,
->set_halt() *must* return -EAGAIN if we have pending
transfers (on either direction) or FIFO isn't empty (on
TX endpoints).

Fix this bug so that the mass storage gadget can be used
without stall=0 parameter.

This patch should be backported to all kernels since v3.2.

Suggested-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/dwc3/ep0.c
drivers/usb/dwc3/gadget.c
drivers/usb/dwc3/gadget.h