diff options
author | Kuninori Morimoto <morimoto.kuninori@renesas.com> | 2011-06-09 16:48:25 +0900 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-06-14 14:23:23 -0700 |
commit | 08e6c611123ab499757e4133df7ddc0875c0dccf (patch) | |
tree | e763cc68029233eaabaca44c25106fd62997ae05 /drivers/usb/renesas_usbhs/pipe.c | |
parent | dcc854579059ff9633db4dc41c681371d22f794e (diff) |
usb: renesas_usbhs: fixup connection fail
Sometimes the connection fail happen on renesas_usbhs.
This patch fix it up.
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/renesas_usbhs/pipe.c')
-rw-r--r-- | drivers/usb/renesas_usbhs/pipe.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/usb/renesas_usbhs/pipe.c b/drivers/usb/renesas_usbhs/pipe.c index d0ae846632c..1b14cae4570 100644 --- a/drivers/usb/renesas_usbhs/pipe.c +++ b/drivers/usb/renesas_usbhs/pipe.c @@ -500,6 +500,12 @@ void usbhs_pipe_clear_sequence(struct usbhs_pipe *pipe) usbhsp_pipectrl_set(pipe, SQCLR, SQCLR); } +void usbhs_pipe_clear(struct usbhs_pipe *pipe) +{ + usbhsp_pipectrl_set(pipe, ACLRM, ACLRM); + usbhsp_pipectrl_set(pipe, ACLRM, 0); +} + static struct usbhs_pipe *usbhsp_get_pipe(struct usbhs_priv *priv, u32 type) { struct usbhs_pipe *pos, *pipe; @@ -568,8 +574,7 @@ void usbhs_pipe_init(struct usbhs_priv *priv, INIT_LIST_HEAD(&pipe->list); /* pipe force init */ - usbhsp_pipectrl_set(pipe, ACLRM, ACLRM); - usbhsp_pipectrl_set(pipe, ACLRM, 0); + usbhs_pipe_clear(pipe); } info->done = done; |