Commit 92dfe410 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

Revert "usb: pl2303: increase the allowed baud rate range for the divisor based encoding method"

This reverts commit b5c16c6a.

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: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
Cc: Frank Schäfer <fschaefer.oss@googlemail.com>
Acked-by: default avatarJohan Hovold <jhovold@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e2afb1d6
...@@ -324,20 +324,12 @@ static int pl2303_baudrate_encode_divisor(int baud, enum pl2303_type type, ...@@ -324,20 +324,12 @@ static int pl2303_baudrate_encode_divisor(int baud, enum pl2303_type type,
*/ */
unsigned int A, B; unsigned int A, B;
/* /* Respect the specified baud rate limits */
* NOTE: The Windows driver allows maximum baud rates of 110% of the baud = max_t(int, baud, 75);
* specified maximium value.
* Quick tests with early (2004) HX (rev. A) chips suggest, that even
* higher baud rates (up to the maximum of 24M baud !) are working fine,
* but that should really be tested carefully in "real life" scenarios
* before removing the upper limit completely.
* Baud rates smaller than the specified 75 baud are definitely working
* fine.
*/
if (type == HX) if (type == HX)
baud = min_t(int, baud, 6000000 * 1.1); baud = min_t(int, baud, 6000000);
else else
baud = min_t(int, baud, 1228800 * 1.1); baud = min_t(int, baud, 1228800);
/* Determine factors A and B */ /* Determine factors A and B */
A = 0; A = 0;
B = 12000000 * 32 / baud; /* 12MHz */ B = 12000000 * 32 / baud; /* 12MHz */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment