diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2011-11-24 20:28:26 -0500 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2011-12-12 04:45:19 -0500 |
commit | 91b158f4d11164bfe5710873c8e162cf8c8d132b (patch) | |
tree | b18af1bf5aa9c8f774bd35fd3df09f03ebef8fc5 /drivers/usb/renesas_usbhs/mod_gadget.c | |
parent | 25fa70795bf11ef6f5b147f0b231a43880ba96ca (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.c | 6 |
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 | ||