diff options
Diffstat (limited to 'drivers/usb/renesas_usbhs/pipe.c')
-rw-r--r-- | drivers/usb/renesas_usbhs/pipe.c | 6 |
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); |