USB: pl2303: enforce baud-rate limits before lookup

Enforce any baud-rate limits before doing table lookup.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Johan Hovold 2013-12-29 19:23:12 +01:00 committed by Greg Kroah-Hartman
parent 59afe10e8d
commit 871996ede1

View File

@ -351,6 +351,9 @@ static void pl2303_encode_baud_rate(struct tty_struct *tty,
dev_dbg(&port->dev, "baud requested = %u\n", baud); dev_dbg(&port->dev, "baud requested = %u\n", baud);
if (!baud) if (!baud)
return; return;
if (spriv->type->max_baud_rate)
baud = min_t(speed_t, baud, spriv->type->max_baud_rate);
/* /*
* Set baud rate to nearest supported value. * Set baud rate to nearest supported value.
* *
@ -359,9 +362,6 @@ static void pl2303_encode_baud_rate(struct tty_struct *tty,
*/ */
baud = pl2303_get_supported_baud_rate(baud); baud = pl2303_get_supported_baud_rate(baud);
if (spriv->type->max_baud_rate)
baud = min_t(speed_t, baud, spriv->type->max_baud_rate);
if (baud <= 115200) { if (baud <= 115200) {
put_unaligned_le32(baud, buf); put_unaligned_le32(baud, buf);
} else { } else {