diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2011-10-11 01:04:53 -0400 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2011-10-13 13:41:45 -0400 |
commit | 654c35ab5e643aa7ff34fbc11315f4a6e3a3e1f5 (patch) | |
tree | 783eb7916ccb1eac1af7a44ad0e743435dcf17be | |
parent | b331872b85c2ab388129af3343474e02e89498af (diff) |
usb: gadget: renesas_usbhs: disable auto paket start on usbhs_pkt_push()
Automatically packet start by usbhs_pkt_push() was useful.
But the pushed packet will be called twice
if new packet was pushed on usbhs_pkt :: done callback.
(1st is called by usbhs_pkt_push(), 2nd is called by usbhsf_pkt_handler())
This patch disables automatic packet start,
and clarified packet start timing.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
-rw-r--r-- | drivers/usb/renesas_usbhs/fifo.c | 2 | ||||
-rw-r--r-- | drivers/usb/renesas_usbhs/mod_gadget.c | 1 |
2 files changed, 1 insertions, 2 deletions
diff --git a/drivers/usb/renesas_usbhs/fifo.c b/drivers/usb/renesas_usbhs/fifo.c index 8b40726ba966..87f56b604809 100644 --- a/drivers/usb/renesas_usbhs/fifo.c +++ b/drivers/usb/renesas_usbhs/fifo.c | |||
@@ -93,8 +93,6 @@ void usbhs_pkt_push(struct usbhs_pipe *pipe, struct usbhs_pkt *pkt, | |||
93 | 93 | ||
94 | usbhs_unlock(priv, flags); | 94 | usbhs_unlock(priv, flags); |
95 | /******************** spin unlock ******************/ | 95 | /******************** spin unlock ******************/ |
96 | |||
97 | usbhs_pkt_start(pipe); | ||
98 | } | 96 | } |
99 | 97 | ||
100 | static void __usbhsf_pkt_del(struct usbhs_pkt *pkt) | 98 | static void __usbhsf_pkt_del(struct usbhs_pkt *pkt) |
diff --git a/drivers/usb/renesas_usbhs/mod_gadget.c b/drivers/usb/renesas_usbhs/mod_gadget.c index 563128531e65..d3d833bce5f4 100644 --- a/drivers/usb/renesas_usbhs/mod_gadget.c +++ b/drivers/usb/renesas_usbhs/mod_gadget.c | |||
@@ -165,6 +165,7 @@ static void usbhsg_queue_push(struct usbhsg_uep *uep, | |||
165 | req->status = -EINPROGRESS; | 165 | req->status = -EINPROGRESS; |
166 | usbhs_pkt_push(pipe, pkt, usbhsg_queue_done, | 166 | usbhs_pkt_push(pipe, pkt, usbhsg_queue_done, |
167 | req->buf, req->length, req->zero); | 167 | req->buf, req->length, req->zero); |
168 | usbhs_pkt_start(pipe); | ||
168 | 169 | ||
169 | dev_dbg(dev, "pipe %d : queue push (%d)\n", | 170 | dev_dbg(dev, "pipe %d : queue push (%d)\n", |
170 | usbhs_pipe_number(pipe), | 171 | usbhs_pipe_number(pipe), |