diff options
Diffstat (limited to 'drivers/tty/synclink.c')
| -rw-r--r-- | drivers/tty/synclink.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/tty/synclink.c b/drivers/tty/synclink.c index e1ce141bad5..d48e040cd8c 100644 --- a/drivers/tty/synclink.c +++ b/drivers/tty/synclink.c @@ -3404,8 +3404,8 @@ static int mgsl_open(struct tty_struct *tty, struct file * filp)  	/* If port is closing, signal caller to try again */  	if (tty_hung_up_p(filp) || info->port.flags & ASYNC_CLOSING){ -		if (info->port.flags & ASYNC_CLOSING) -			interruptible_sleep_on(&info->port.close_wait); +		wait_event_interruptible_tty(tty, info->port.close_wait, +				     !(info->port.flags & ASYNC_CLOSING));  		retval = ((info->port.flags & ASYNC_HUP_NOTIFY) ?  			-EAGAIN : -ERESTARTSYS);  		goto cleanup; @@ -7866,6 +7866,7 @@ static int hdlcdev_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)  					      HDLC_FLAG_TXC_TXCPIN | HDLC_FLAG_TXC_DPLL |  					      HDLC_FLAG_TXC_BRG    | HDLC_FLAG_TXC_RXCPIN); +		memset(&new_line, 0, sizeof(new_line));  		switch (flags){  		case (HDLC_FLAG_RXC_RXCPIN | HDLC_FLAG_TXC_TXCPIN): new_line.clock_type = CLOCK_EXT; break;  		case (HDLC_FLAG_RXC_BRG    | HDLC_FLAG_TXC_BRG):    new_line.clock_type = CLOCK_INT; break;  | 
