diff options
author | Alan Stern <stern@rowland.harvard.edu> | 2009-07-09 12:59:57 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-07-12 15:16:40 -0700 |
commit | 4d2fae8b3597bc787f1f1c06637ce5ab8187e5a7 (patch) | |
tree | d93fcc7c1de209940c4223d02700fcf5f9a8aa98 | |
parent | 1fe975f9302e6c5a8f66401e305685396b2e4577 (diff) | |
download | blackbird-op-linux-4d2fae8b3597bc787f1f1c06637ce5ab8187e5a7.tar.gz blackbird-op-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>
-rw-r--r-- | drivers/usb/serial/cypress_m8.c | 4 |
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, |