Revert "usb: pl2303: increase the allowed baud rate range for the divisor based encoding method"
This reverts commit b5c16c6a03
.
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>
This commit is contained in:
parent
e2afb1d666
commit
92dfe41088
|
@ -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 */
|
||||||
|
|
Loading…
Reference in New Issue