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>
This commit is contained in:
parent
9aa8dae7b1
commit
48298e50e0
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue