summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Isely <isely@pobox.com>2006-08-29 22:07:07 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2006-09-27 11:58:58 -0700
commit48298e50e0f7dfc7273ebfaa37ffd225428e83ed (patch)
treec70741f603c5a65571dc70b846de1f28471eeadf
parent9aa8dae7b1fa7af099a403fc3766e068a0ea6d68 (diff)
downloadop-kernel-dev-48298e50e0f7dfc7273ebfaa37ffd225428e83ed.zip
op-kernel-dev-48298e50e0f7dfc7273ebfaa37ffd225428e83ed.tar.gz
cypress_m8: improve control endpoint error handling
Fix usb core function error return checks to look for negative errno values, not positive errno values. This bug had rendered those checks useless. Also remove attempted error recovery on control endpoints for EPIPE - with control endpoints EPIPE does not indicate a halted endpoint so trying to recover with usb_clear_halt() is not the correct action. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/usb/serial/cypress_m8.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/usb/serial/cypress_m8.c b/drivers/usb/serial/cypress_m8.c
index 741dcec..12a265c 100644
--- a/drivers/usb/serial/cypress_m8.c
+++ b/drivers/usb/serial/cypress_m8.c
@@ -367,9 +367,7 @@ static int cypress_serial_control (struct usb_serial_port *port, unsigned baud_m
if (tries++ >= 3)
break;
- if (retval == EPIPE)
- usb_clear_halt(port->serial->dev, 0x00);
- } while (retval != 8 && retval != ENODEV);
+ } while (retval != 8 && retval != -ENODEV);
if (retval != 8)
err("%s - failed sending serial line settings - %d", __FUNCTION__, retval);
@@ -394,9 +392,7 @@ static int cypress_serial_control (struct usb_serial_port *port, unsigned baud_m
if (tries++ >= 3)
break;
- if (retval == EPIPE)
- usb_clear_halt(port->serial->dev, 0x00);
- } while (retval != 5 && retval != ENODEV);
+ } while (retval != 5 && retval != -ENODEV);
if (retval != 5) {
err("%s - failed to retrieve serial line settings - %d", __FUNCTION__, retval);
OpenPOWER on IntegriCloud