Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

USB: serial: cp210x: Removing unncessary `usb_reset_device` on startup

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>

authored by

Preston Fick and committed by
Greg Kroah-Hartman
934ef5ac ce21bfe6

-3
-3
drivers/usb/serial/cp210x.c
··· 856 856 struct usb_host_interface *cur_altsetting; 857 857 struct cp210x_serial_private *spriv; 858 858 859 - /* cp210x buffers behave strangely unless device is reset */ 860 - usb_reset_device(serial->dev); 861 - 862 859 spriv = kzalloc(sizeof(*spriv), GFP_KERNEL); 863 860 if (!spriv) 864 861 return -ENOMEM;