linux/drivers/usb/renesas_usbhs
Yoshihiro Shimoda 4d599cd3a0 usb: renesas_usbhs: gadget: Fix usb_ep_set_{halt,wedge}() behavior
According to usb_ep_set_halt()'s description,
__usbhsg_ep_set_halt_wedge() should return -EAGAIN if the IN endpoint
has any queue or data. Otherwise, this driver is possible to cause
just STALL without sending a short packet data on g_mass_storage driver,
and then a few resetting a device happens on a host side during
a usb enumaration.

Fixes: 2f98382dcd ("usb: renesas_usbhs: Add Renesas USBHS Gadget")
Cc: <stable@vger.kernel.org> # v3.0+
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Link: https://lore.kernel.org/r/1569924633-322-3-git-send-email-yoshihiro.shimoda.uh@renesas.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-10-04 14:36:22 +02:00
..
common.c usb: renesas_usbhs: Use struct platform_callback pointer 2019-06-26 10:33:09 +08:00
common.h usb: renesas_usbhs: gadget: Fix usb_ep_set_{halt,wedge}() behavior 2019-10-04 14:36:22 +02:00
fifo.c usb: renesas_usbhs: gadget: Fix usb_ep_set_{halt,wedge}() behavior 2019-10-04 14:36:22 +02:00
fifo.h usb: renesas_usbhs: gadget: Fix usb_ep_set_{halt,wedge}() behavior 2019-10-04 14:36:22 +02:00
Kconfig usb: remove redundant 'default n' from Kconfig-s 2019-05-21 10:06:22 +02:00
Makefile usb: renesas_usbhs: Add support for RZ/A2 2019-05-21 10:25:59 +02:00
mod_gadget.c usb: renesas_usbhs: gadget: Fix usb_ep_set_{halt,wedge}() behavior 2019-10-04 14:36:22 +02:00
mod_host.c usb: add a HCD_DMA flag instead of guestimating DMA capabilities 2019-08-21 10:03:35 -07:00
mod.c usb: renesas_usbhs: Use struct platform_callback pointer 2019-06-26 10:33:09 +08:00
mod.h usb: renesas_usbhs: Avoid to write platform_data's value 2019-06-26 10:33:08 +08:00
pipe.c usb: renesas_usbhs: gadget: Fix usb_ep_set_{halt,wedge}() behavior 2019-10-04 14:36:22 +02:00
pipe.h usb: renesas_usbhs: gadget: Fix usb_ep_set_{halt,wedge}() behavior 2019-10-04 14:36:22 +02:00
rcar2.c usb: renesas_usbhs: Use renesas_usbhs_platform_info on of_device_id.data 2019-06-26 10:33:09 +08:00
rcar2.h usb: renesas_usbhs: Use renesas_usbhs_platform_info on of_device_id.data 2019-06-26 10:33:09 +08:00
rcar3.c usb: renesas_usbhs: Use renesas_usbhs_platform_info on of_device_id.data 2019-06-26 10:33:09 +08:00
rcar3.h usb: renesas_usbhs: Use renesas_usbhs_platform_info on of_device_id.data 2019-06-26 10:33:09 +08:00
rza2.c usb: renesas_usbhs: Use renesas_usbhs_platform_info on of_device_id.data 2019-06-26 10:33:09 +08:00
rza.c usb: renesas_usbhs: Use renesas_usbhs_platform_info on of_device_id.data 2019-06-26 10:33:09 +08:00
rza.h usb: renesas_usbhs: Use renesas_usbhs_platform_info on of_device_id.data 2019-06-26 10:33:09 +08:00