提交 48298e50 编写于 作者: M Mike Isely 提交者: Greg Kroah-Hartman

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: NMike Isely <isely@pobox.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
上级 9aa8dae7
......@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册