Enforce any baud-rate limits before doing table lookup.

Signed-off-by: Johan Hovold <jhov...@gmail.com>
---
 drivers/usb/serial/pl2303.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c
index 9a95b92310f2..394903b4ecb7 100644
--- a/drivers/usb/serial/pl2303.c
+++ b/drivers/usb/serial/pl2303.c
@@ -351,6 +351,9 @@ static void pl2303_encode_baud_rate(struct tty_struct *tty,
        dev_dbg(&port->dev, "baud requested = %u\n", baud);
        if (!baud)
                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.
         *
@@ -359,9 +362,6 @@ static void pl2303_encode_baud_rate(struct tty_struct *tty,
         */
        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) {
                put_unaligned_le32(baud, buf);
        } else {
-- 
1.8.3.2

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to