aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/renesas_usbhs/mod_gadget.c
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2011-11-24 20:28:26 -0500
committerFelipe Balbi <balbi@ti.com>2011-12-12 04:45:19 -0500
commit91b158f4d11164bfe5710873c8e162cf8c8d132b (patch)
treeb18af1bf5aa9c8f774bd35fd3df09f03ebef8fc5 /drivers/usb/renesas_usbhs/mod_gadget.c
parent25fa70795bf11ef6f5b147f0b231a43880ba96ca (diff)
usb: renesas_usbhs: call usbhsg_queue_pop() when pipe disable.
When poping packet from queue, it needs correct end procedure. This patch call usbhsg_queue_pop() in usbhsg_pipe_disable(). Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/renesas_usbhs/mod_gadget.c')
-rw-r--r--drivers/usb/renesas_usbhs/mod_gadget.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/usb/renesas_usbhs/mod_gadget.c b/drivers/usb/renesas_usbhs/mod_gadget.c
index 16484060a24c..dba15e07fbd2 100644
--- a/drivers/usb/renesas_usbhs/mod_gadget.c
+++ b/drivers/usb/renesas_usbhs/mod_gadget.c
@@ -557,14 +557,16 @@ static int usbhsg_pipe_disable(struct usbhsg_uep *uep)
557 struct usbhs_pipe *pipe = usbhsg_uep_to_pipe(uep); 557 struct usbhs_pipe *pipe = usbhsg_uep_to_pipe(uep);
558 struct usbhs_pkt *pkt; 558 struct usbhs_pkt *pkt;
559 559
560 usbhs_pipe_disable(pipe);
561
562 while (1) { 560 while (1) {
563 pkt = usbhs_pkt_pop(pipe, NULL); 561 pkt = usbhs_pkt_pop(pipe, NULL);
564 if (!pkt) 562 if (!pkt)
565 break; 563 break;
564
565 usbhsg_queue_pop(uep, usbhsg_pkt_to_ureq(pkt), -ECONNRESET);
566 } 566 }
567 567
568 usbhs_pipe_disable(pipe);
569
568 return 0; 570 return 0;
569} 571}
570 572