summaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial
diff options
context:
space:
mode:
authorAlan Stern2009-07-09 18:59:57 +0200
committerGreg Kroah-Hartman2009-07-13 00:16:40 +0200
commit4d2fae8b3597bc787f1f1c06637ce5ab8187e5a7 (patch)
treed93fcc7c1de209940c4223d02700fcf5f9a8aa98 /drivers/usb/serial
parentUSB: musb_host: undo incorrect change in musb_advance_schedule() (diff)
downloadkernel-qcow2-linux-4d2fae8b3597bc787f1f1c06637ce5ab8187e5a7.tar.gz
kernel-qcow2-linux-4d2fae8b3597bc787f1f1c06637ce5ab8187e5a7.tar.xz
kernel-qcow2-linux-4d2fae8b3597bc787f1f1c06637ce5ab8187e5a7.zip
USB: cypress_m8: remove invalid Clear-Halt
This patch (as1265) removes an erroneous call to usb_clear_halt from the cypress_m8 driver. The call isn't valid because it is made from interrupt context whereas usb_clear_halt is a blocking routine. Presumably the code has never been executed; if it did it would cause an oops. So instead treat -EPIPE like any other sort of unexplained error. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/serial')
-rw-r--r--drivers/usb/serial/cypress_m8.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/serial/cypress_m8.c b/drivers/usb/serial/cypress_m8.c
index 9734085fd2fe..59adfe123110 100644
--- a/drivers/usb/serial/cypress_m8.c
+++ b/drivers/usb/serial/cypress_m8.c
@@ -1228,8 +1228,8 @@ static void cypress_read_int_callback(struct urb *urb)
/* precursor to disconnect so just go away */
return;
case -EPIPE:
- usb_clear_halt(port->serial->dev, 0x81);
- break;
+ /* Can't call usb_clear_halt while in_interrupt */
+ /* FALLS THROUGH */
default:
/* something ugly is going on... */
dev_err(&urb->dev->dev,