static void sx_throttle(struct tty_struct * tty){	struct specialix_port *port = (struct specialix_port *)tty->driver_data;	struct specialix_board *bp;	unsigned long flags;	func_enter();	if (sx_paranoia_check(port, tty->name, "sx_throttle")) {		func_exit();		return;	}		bp = port_Board(port);		/* Use DTR instead of RTS ! */	if (SX_CRTSCTS (tty)) 		port->MSVR &= ~MSVR_DTR;	else {		/* Auch!!! I think the system shouldn't call this then. */		/* Or maybe we're supposed (allowed?) to do our side of hw		   handshake anyway, even when hardware handshake is off. 		   When you see this in your logs, please report.... */		printk (KERN_ERR "sx%d: Need to throttle, but can't (hardware hs is off)\n",	                 port_No (port));	}	spin_lock_irqsave(&bp->lock, flags);	sx_out(bp, CD186x_CAR, port_No(port));	spin_unlock_irqrestore(&bp->lock, flags);	if (I_IXOFF(tty)) {		spin_unlock_irqrestore(&bp->lock, flags);		sx_wait_CCR(bp);		spin_lock_irqsave(&bp->lock, flags);		sx_out(bp, CD186x_CCR, CCR_SSCH2);		spin_unlock_irqrestore(&bp->lock, flags);		sx_wait_CCR(bp);	}	spin_lock_irqsave(&bp->lock, flags);	sx_out(bp, CD186x_MSVR, port->MSVR);	spin_unlock_irqrestore(&bp->lock, flags);	func_exit();}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/d61780c0d384939ef31c46b47442854d5def4623/specialix.c/buggy/drivers/char/specialix.c