diff options
Diffstat (limited to 'drivers/usb/serial/option.c')
| -rw-r--r-- | drivers/usb/serial/option.c | 9 | 
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c index f7d339d8187..602d1f389a3 100644 --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c @@ -1532,13 +1532,8 @@ static void option_instat_callback(struct urb *urb)  			portdata->dsr_state = ((signals & 0x02) ? 1 : 0);  			portdata->ri_state = ((signals & 0x08) ? 1 : 0); -			if (old_dcd_state && !portdata->dcd_state) { -				struct tty_struct *tty = -						tty_port_tty_get(&port->port); -				if (tty && !C_CLOCAL(tty)) -					tty_hangup(tty); -				tty_kref_put(tty); -			} +			if (old_dcd_state && !portdata->dcd_state) +				tty_port_tty_hangup(&port->port, true);  		} else {  			dev_dbg(dev, "%s: type %x req %x\n", __func__,  				req_pkt->bRequestType, req_pkt->bRequest);  |