usb: ehci-hcd: use is_timeout_non_interruptible()
Use is_timeout_non_interruptible() intead of is_timeout() to avoid re-entering ehci-hcd functions from pollers, registered by usb drivers. Signed-off-by: Peter Mamonov <pmamonov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
d3b39aeffd
commit
fe02d7e6c8
|
@ -137,7 +137,7 @@ static int handshake(uint32_t *ptr, uint32_t mask, uint32_t done, int usec)
|
|||
result &= mask;
|
||||
if (result == done)
|
||||
return 0;
|
||||
if (is_timeout(start, usec * USECOND))
|
||||
if (is_timeout_non_interruptible(start, usec * USECOND))
|
||||
return -ETIMEDOUT;
|
||||
}
|
||||
}
|
||||
|
@ -356,7 +356,7 @@ ehci_submit_async(struct usb_device *dev, unsigned long pipe, void *buffer,
|
|||
vtd = td;
|
||||
do {
|
||||
token = hc32_to_cpu(vtd->qt_token);
|
||||
if (is_timeout(start, timeout_val)) {
|
||||
if (is_timeout_non_interruptible(start, timeout_val)) {
|
||||
/* Disable async schedule. */
|
||||
cmd = ehci_readl(&ehci->hcor->or_usbcmd);
|
||||
cmd &= ~CMD_ASE;
|
||||
|
|
Loading…
Reference in New Issue