USB: serial: cp210x: Removing unncessary `usb_reset_device` on startup
authorPreston Fick <preston.fick@silabs.com>
Wed, 16 Jul 2014 19:31:30 +0000 (14:31 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 18 Jul 2014 00:12:13 +0000 (17:12 -0700)
This `usb_reset_device` command has been around since the driver was
originally reverse engineered. It doesn't cause much issue on single
interface CP210x devices, but on the CP2105 and CP2108 with 2 and 4
interfaces respectively it will cause instability on enumeration and
delays enumeration noticably. There should be no reason to reset a device
at startup, per the CP210x AN571 spec.

Signed-off-by: Preston Fick <preston.fick@silabs.com>
Cc: Johan Hovold <johan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/serial/cp210x.c

index 330df5ce435b69ab8774f818daa47b3f72945c32..e4bb62225cb978140c2612cb9e8fb5b62a1c6e49 100644 (file)
@@ -856,9 +856,6 @@ static int cp210x_startup(struct usb_serial *serial)
        struct usb_host_interface *cur_altsetting;
        struct cp210x_serial_private *spriv;
 
-       /* cp210x buffers behave strangely unless device is reset */
-       usb_reset_device(serial->dev);
-
        spriv = kzalloc(sizeof(*spriv), GFP_KERNEL);
        if (!spriv)
                return -ENOMEM;