Revert "USB: pl2303: restrict the divisor based baud rate encoding method to the...
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 1 Nov 2013 16:19:56 +0000 (09:19 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 1 Nov 2013 16:19:56 +0000 (09:19 -0700)
This reverts commit b8bdad608213caffa081a97d2e937e5fe08c4046.

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 244820193e10da1517f86fb6ad4937ae07c348a6..1e6de4cd079d6a2c0e3b4b3c7679d6145bcf6f2c 100644 (file)
@@ -305,14 +305,10 @@ static void pl2303_encode_baudrate(struct tty_struct *tty,
        if (spriv->type != HX)
                baud = min_t(int, baud, 1228800);
 
-       if (spriv->type != HX || baud <= 115200) {
-               /* Direct (standard) baud rate encoding method */
+       if (baud <= 115200) {
                put_unaligned_le32(baud, buf);
        } else {
                /*
-                * NOTE: it's not clear if the type_0/1 chips
-                * support this method
-                *
                 * Apparently the formula for higher speeds is:
                 * baudrate = 12M * 32 / (2^buf[1]) / buf[0]
                 */