From: Kuninori Morimoto Date: Fri, 25 Nov 2011 01:28:17 +0000 (-0800) Subject: usb: renesas_usbhs: send packet in necessary timing. X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=25fa70795bf11ef6f5b147f0b231a43880ba96ca;p=GitHub%2FLineageOS%2Fandroid_kernel_samsung_universal7580.git usb: renesas_usbhs: send packet in necessary timing. Current renesas_usbhs driver always tries to send packet in end of recip handler. But it breaks chapter 9 EndpointHalt test. This patch fixup this issue. Signed-off-by: Kuninori Morimoto Signed-off-by: Felipe Balbi --- diff --git a/drivers/usb/renesas_usbhs/mod_gadget.c b/drivers/usb/renesas_usbhs/mod_gadget.c index 812960ba95e..16484060a24 100644 --- a/drivers/usb/renesas_usbhs/mod_gadget.c +++ b/drivers/usb/renesas_usbhs/mod_gadget.c @@ -271,6 +271,8 @@ static int usbhsg_recip_handler_std_clear_endpoint(struct usbhs_priv *priv, usbhsg_recip_handler_std_control_done(priv, uep, ctrl); + usbhs_pkt_start(pipe); + return 0; } @@ -424,8 +426,7 @@ static int usbhsg_recip_run_handle(struct usbhs_priv *priv, pipe = usbhsg_uep_to_pipe(uep); if (!pipe) { dev_err(dev, "wrong recip request\n"); - ret = -EINVAL; - goto usbhsg_recip_run_handle_end; + return -EINVAL; } switch (recip) { @@ -452,9 +453,6 @@ static int usbhsg_recip_run_handle(struct usbhs_priv *priv, ret = func(priv, uep, ctrl); } -usbhsg_recip_run_handle_end: - usbhs_pkt_start(pipe); - return ret; }