 /* cancel any scheduled reading */ cancel_delayed_work(&priv->rx_work); flush_scheduled_work(); 
static void ftdi_close (struct usb_serial_port *port, struct file *filp){ /* ftdi_close */	unsigned int c_cflag = port->tty->termios->c_cflag;	struct ftdi_private *priv = usb_get_serial_port_data(port);	char buf[1];	dbg("%s", __FUNCTION__);	if (c_cflag & HUPCL){		/* Disable flow control */		if (usb_control_msg(port->serial->dev, 				    usb_sndctrlpipe(port->serial->dev, 0),				    FTDI_SIO_SET_FLOW_CTRL_REQUEST,				    FTDI_SIO_SET_FLOW_CTRL_REQUEST_TYPE,				    0, priv->interface, buf, 0,				    WDR_TIMEOUT) < 0) {			err("error from flowcontrol urb");		}	    		/* drop DTR */		if (set_dtr(port, LOW) < 0){			err("Error from DTR LOW urb");		}		/* drop RTS */		if (set_rts(port, LOW) < 0) {			err("Error from RTS LOW urb");		}	} /* Note change no line if hupcl is off */		/* shutdown our bulk read */	if (port->read_urb)		usb_kill_urb(port->read_urb);} /* ftdi_close */
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/76854ceac3ef3408ab9a50a2521147fb14779f58/ftdi_sio.c/buggy/drivers/usb/serial/ftdi_sio.c