Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7e33ae67 authored by Ian Abbott's avatar Ian Abbott Committed by Greg Kroah-Hartman
Browse files

[PATCH] USB ftdi_sio: remove redundant TIOCMBIS and TIOCMBIC code



ftdi_sio: Remove redundant handling of TIOCMBIS and TIOCMBIC ioctls
as they are handled in the tty layer and never reach this driver.

Signed-off-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 8f977e42
Loading
Loading
Loading
Loading
+0 −47
Original line number Diff line number Diff line
@@ -1985,53 +1985,6 @@ static int ftdi_ioctl (struct usb_serial_port *port, struct file * file, unsigne
	/* Based on code from acm.c and others */
	switch (cmd) {

	case TIOCMBIS: /* turns on (Sets) the lines as specified by the mask */
		dbg("%s TIOCMBIS", __FUNCTION__);
 	        if (get_user(mask, (unsigned long __user *) arg))
			return -EFAULT;
  	        if (mask & TIOCM_DTR){
			if ((ret = set_dtr(port, HIGH)) < 0) {
				err("Urb to set DTR failed");
				return(ret);
			}
		}
		if (mask & TIOCM_RTS) {
			if ((ret = set_rts(port, HIGH)) < 0){
				err("Urb to set RTS failed");
				return(ret);
			}
		}
		return(0);
		break;

	case TIOCMBIC: /* turns off (Clears) the lines as specified by the mask */
		dbg("%s TIOCMBIC", __FUNCTION__);
 	        if (get_user(mask, (unsigned long __user *) arg))
			return -EFAULT;
  	        if (mask & TIOCM_DTR){
			if ((ret = set_dtr(port, LOW)) < 0){
				err("Urb to unset DTR failed");
				return(ret);
			}
		}	
		if (mask & TIOCM_RTS) {
			if ((ret = set_rts(port, LOW)) < 0){
				err("Urb to unset RTS failed");
				return(ret);
			}
		}
		return(0);
		break;

		/*
		 * I had originally implemented TCSET{A,S}{,F,W} and
		 * TCGET{A,S} here separately, however when testing I
		 * found that the higher layers actually do the termios
		 * conversions themselves and pass the call onto
		 * ftdi_sio_set_termios. 
		 *
		 */

	case TIOCGSERIAL: /* gets serial port data */
		return get_serial_info(port, (struct serial_struct __user *) arg);