USB: ftdi_sio: fix TIOCSSERIAL baud_base handling
authorJohan Hovold <jhovold@gmail.com>
Tue, 10 Jan 2012 22:33:37 +0000 (23:33 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 24 Jan 2012 19:20:10 +0000 (11:20 -0800)
Return EINVAL if new baud_base does not match the current one.

The baud_base is device specific and can not be changed. This restores
the old (pre-2005) behaviour which was changed due to a
misunderstanding regarding this fact (see
https://lkml.org/lkml/2005/1/20/84).

Reported-by: Torbjörn Lofterud <torbjorn@pi.nxs.se>
Signed-off-by: Johan Hovold <jhovold@gmail.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/serial/ftdi_sio.c

index 01b6404df395bd3c2a042c2f8c92b15b0905f6bd..ff5a8e172a349f73ae7014d0d09efcc4fd2d75c8 100644 (file)
@@ -1333,8 +1333,7 @@ static int set_serial_info(struct tty_struct *tty,
                goto check_and_exit;
        }
 
-       if ((new_serial.baud_base != priv->baud_base) &&
-           (new_serial.baud_base < 9600)) {
+       if (new_serial.baud_base != priv->baud_base) {
                mutex_unlock(&priv->cfg_lock);
                return -EINVAL;
        }