]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
usb: renesas_usbhs: missed the "running" flag in usb_dmac with rx path
authorYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Mon, 5 Feb 2018 08:12:35 +0000 (17:12 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 28 Feb 2018 09:21:37 +0000 (10:21 +0100)
commit5434769e09e1ea730ed8d38fb43265f9c16de8b3
tree593873c71c868a8aed49587c7eb87a60bcc0a76f
parentebf22ef5bc8559df9bf2d1199fb2b995c54c9786
usb: renesas_usbhs: missed the "running" flag in usb_dmac with rx path

commit 17aa31f13cad25daa19d3f923323f552e87bc874 upstream.

This fixes an issue that a gadget driver (usb_f_fs) is possible to
stop rx transactions after the usb-dmac is used because the following
functions missed to set/check the "running" flag.
 - usbhsf_dma_prepare_pop_with_usb_dmac()
 - usbhsf_dma_pop_done_with_usb_dmac()

So, if next transaction uses pio, the usbhsf_prepare_pop() can not
start the transaction because the "running" flag is 0.

Fixes: 8355b2b3082d ("usb: renesas_usbhs: fix the behavior of some usbhs_pkt_handle")
Cc: <stable@vger.kernel.org> # v3.19+
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/renesas_usbhs/fifo.c