USB: serial: pl2303: fix the upper baud rate limit check for type_0/1 chips
authorFrank Schäfer <fschaefer.oss@googlemail.com>
Mon, 29 Jul 2013 16:33:22 +0000 (18:33 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 29 Jul 2013 18:14:16 +0000 (11:14 -0700)
Fixes the following regression that has been introduced recently with
commit b2d6d98fc7:
With type_0 and type_1 chips
- all baud rates < 1228800 baud are rounded up to 1228800 baud
- the device silently runs at 9600 baud for all baud rates > 1228800
  baud

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/serial/pl2303.c

index 299a0ffcb165c9bb78e2c292c40a8f7f034841c1..1e6de4cd079d6a2c0e3b4b3c7679d6145bcf6f2c 100644 (file)
@@ -303,7 +303,7 @@ static void pl2303_encode_baudrate(struct tty_struct *tty,
 
        /* type_0, type_1 only support up to 1228800 baud */
        if (spriv->type != HX)
-               baud = max_t(int, baud, 1228800);
+               baud = min_t(int, baud, 1228800);
 
        if (baud <= 115200) {
                put_unaligned_le32(baud, buf);