mirror of
https://github.com/torvalds/linux.git
synced 2024-11-05 19:41:54 +00:00
[PATCH] zd1211rw: usb_clear_halt not allowed in IRQ context
We will reimplement halt-clearing later, when we have periodic housekeeping routines in place. This will do as a temporary fix, the EPIPE case has not yet been seen. Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
522536f6b2
commit
b312d799b3
@ -375,10 +375,8 @@ static void int_urb_complete(struct urb *urb, struct pt_regs *pt_regs)
|
||||
case -ENODEV:
|
||||
case -ENOENT:
|
||||
case -ECONNRESET:
|
||||
goto kfree;
|
||||
case -EPIPE:
|
||||
usb_clear_halt(urb->dev, EP_INT_IN);
|
||||
/* FALL-THROUGH */
|
||||
goto kfree;
|
||||
default:
|
||||
goto resubmit;
|
||||
}
|
||||
@ -580,10 +578,8 @@ static void rx_urb_complete(struct urb *urb, struct pt_regs *pt_regs)
|
||||
case -ENODEV:
|
||||
case -ENOENT:
|
||||
case -ECONNRESET:
|
||||
return;
|
||||
case -EPIPE:
|
||||
usb_clear_halt(urb->dev, EP_DATA_IN);
|
||||
/* FALL-THROUGH */
|
||||
return;
|
||||
default:
|
||||
dev_dbg_f(urb_dev(urb), "urb %p error %d\n", urb, urb->status);
|
||||
goto resubmit;
|
||||
@ -749,11 +745,9 @@ static void tx_urb_complete(struct urb *urb, struct pt_regs *pt_regs)
|
||||
case -ENODEV:
|
||||
case -ENOENT:
|
||||
case -ECONNRESET:
|
||||
case -EPIPE:
|
||||
dev_dbg_f(urb_dev(urb), "urb %p error %d\n", urb, urb->status);
|
||||
break;
|
||||
case -EPIPE:
|
||||
usb_clear_halt(urb->dev, EP_DATA_OUT);
|
||||
/* FALL-THROUGH */
|
||||
default:
|
||||
dev_dbg_f(urb_dev(urb), "urb %p error %d\n", urb, urb->status);
|
||||
goto resubmit;
|
||||
|
Loading…
Reference in New Issue
Block a user