aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-11-01 12:19:56 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-11-01 12:19:56 -0400
commit54dc5792ea933a3ff8c62a1f9ea9e4e6cbdd324a (patch)
treec8dc7fe957554285192d8ab1af6187f495616548
parent1796a228762cd0b86e14d6d4a3de9ecfe65b3b8d (diff)
Revert "USB: pl2303: restrict the divisor based baud rate encoding method to the "HX" chip type"
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>
-rw-r--r--drivers/usb/serial/pl2303.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c
index 244820193e10..1e6de4cd079d 100644
--- a/drivers/usb/serial/pl2303.c
+++ b/drivers/usb/serial/pl2303.c
@@ -305,14 +305,10 @@ static void pl2303_encode_baudrate(struct tty_struct *tty,
305 if (spriv->type != HX) 305 if (spriv->type != HX)
306 baud = min_t(int, baud, 1228800); 306 baud = min_t(int, baud, 1228800);
307 307
308 if (spriv->type != HX || baud <= 115200) { 308 if (baud <= 115200) {
309 /* Direct (standard) baud rate encoding method */
310 put_unaligned_le32(baud, buf); 309 put_unaligned_le32(baud, buf);
311 } else { 310 } else {
312 /* 311 /*
313 * NOTE: it's not clear if the type_0/1 chips
314 * support this method
315 *
316 * Apparently the formula for higher speeds is: 312 * Apparently the formula for higher speeds is:
317 * baudrate = 12M * 32 / (2^buf[1]) / buf[0] 313 * baudrate = 12M * 32 / (2^buf[1]) / buf[0]
318 */ 314 */