Revert "pl2303: simplify the else-if contruct for type_1 chips in pl2303_startup()"
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 1 Nov 2013 16:18:10 +0000 (09:18 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 1 Nov 2013 16:18:10 +0000 (09:18 -0700)
This reverts commit 73b583af597542329e6adae44524da6f27afed62.

Revert all of the pl2303 changes that went into 3.12-rc1 and -rc2 as
they cause regressions on some versions of the chip.  This will all be
revisited for later kernel versions when we can figure out how to handle
this in a way that does not break working devices.

Reported-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Frank Schäfer <fschaefer.oss@googlemail.com>
Acked-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/serial/pl2303.c

index 7efb39cd6f74b43ea425509e9d4260826c352f11..6638c5d9079d9ff144dbcdf0a78a4b4348fd8f89 100644 (file)
@@ -193,8 +193,9 @@ static int pl2303_startup(struct usb_serial *serial)
                type = type_0;
        else if (serial->dev->descriptor.bMaxPacketSize0 == 0x40)
                type = HX;
-       else if (serial->dev->descriptor.bDeviceClass == 0x00
-                || serial->dev->descriptor.bDeviceClass == 0xFF)
+       else if (serial->dev->descriptor.bDeviceClass == 0x00)
+               type = type_1;
+       else if (serial->dev->descriptor.bDeviceClass == 0xFF)
                type = type_1;
        dev_dbg(&serial->interface->dev, "device type: %d\n", type);