USB: digi_acceleport: fix termios and also readability a bit
authorAlan Cox <alan@lxorguk.ukuu.org.uk>
Thu, 18 Oct 2007 08:24:19 +0000 (01:24 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 25 Oct 2007 19:18:41 +0000 (12:18 -0700)
- Expand some x&y to x & y so I could read it when checking
- Clear CMSPAR bit in the termios (as the driver does not support it)
- Encode the speed using the new tty_encode_baud_rate facility

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/serial/digi_acceleport.c

index dab2e66d111dbb8692fe717615965784cc110b31..ae410c4678ea697abe9f62a435a5aca73f87490e 100644 (file)
@@ -973,6 +973,8 @@ static void digi_set_termios(struct usb_serial_port *port,
                }
        }
        /* set parity */
+       tty->termios->c_cflag &= ~CMSPAR;
+
        if ((cflag&(PARENB|PARODD)) != (old_cflag&(PARENB|PARODD))) {
                if (cflag&PARENB) {
                        if (cflag&PARODD)
@@ -1054,15 +1056,15 @@ static void digi_set_termios(struct usb_serial_port *port,
        }
 
        /* set output flow control */
-       if ((iflag&IXON) != (old_iflag&IXON)
-           || (cflag&CRTSCTS) != (old_cflag&CRTSCTS)) {
+       if ((iflag & IXON) != (old_iflag & IXON)
+           || (cflag & CRTSCTS) != (old_cflag & CRTSCTS)) {
                arg = 0;
-               if (iflag&IXON)
+               if (iflag & IXON)
                        arg |= DIGI_OUTPUT_FLOW_CONTROL_XON_XOFF;
                else
                        arg &= ~DIGI_OUTPUT_FLOW_CONTROL_XON_XOFF;
 
-               if (cflag&CRTSCTS) {
+               if (cflag & CRTSCTS) {
                        arg |= DIGI_OUTPUT_FLOW_CONTROL_CTS;
                } else {
                        arg &= ~DIGI_OUTPUT_FLOW_CONTROL_CTS;
@@ -1076,8 +1078,8 @@ static void digi_set_termios(struct usb_serial_port *port,
        }
 
        /* set receive enable/disable */
-       if ((cflag&CREAD) != (old_cflag&CREAD)) {
-               if (cflag&CREAD)
+       if ((cflag & CREAD) != (old_cflag & CREAD)) {
+               if (cflag & CREAD)
                        arg = DIGI_ENABLE;
                else
                        arg = DIGI_DISABLE;
@@ -1089,7 +1091,7 @@ static void digi_set_termios(struct usb_serial_port *port,
        }
        if ((ret = digi_write_oob_command(port, buf, i, 1)) != 0)
                dbg("digi_set_termios: write oob failed, ret=%d", ret);
-
+       tty_encode_baud_rate(tty, baud, baud);
 }