aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/renesas_usbhs/pipe.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/renesas_usbhs/pipe.c')
-rw-r--r--drivers/usb/renesas_usbhs/pipe.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/usb/renesas_usbhs/pipe.c b/drivers/usb/renesas_usbhs/pipe.c
index 0e95d2925dc5..78e9dba701c4 100644
--- a/drivers/usb/renesas_usbhs/pipe.c
+++ b/drivers/usb/renesas_usbhs/pipe.c
@@ -241,7 +241,7 @@ static int usbhsp_pipe_barrier(struct usbhs_pipe *pipe)
241{ 241{
242 struct usbhs_priv *priv = usbhs_pipe_to_priv(pipe); 242 struct usbhs_priv *priv = usbhs_pipe_to_priv(pipe);
243 int timeout = 1024; 243 int timeout = 1024;
244 u16 val; 244 u16 mask = usbhs_mod_is_host(priv) ? (CSSTS | PID_MASK) : PID_MASK;
245 245
246 /* 246 /*
247 * make sure.... 247 * make sure....
@@ -265,9 +265,7 @@ static int usbhsp_pipe_barrier(struct usbhs_pipe *pipe)
265 usbhs_pipe_disable(pipe); 265 usbhs_pipe_disable(pipe);
266 266
267 do { 267 do {
268 val = usbhsp_pipectrl_get(pipe); 268 if (!(usbhsp_pipectrl_get(pipe) & mask))
269 val &= CSSTS | PID_MASK;
270 if (!val)
271 return 0; 269 return 0;
272 270
273 udelay(10); 271 udelay(10);