===== net/bluetooth/rfcomm/tty.c 1.36 vs edited ===== --- 1.36/net/bluetooth/rfcomm/tty.c 2005-04-13 15:55:20 +03:00 +++ edited/net/bluetooth/rfcomm/tty.c 2005-04-20 14:13:45 +03:00 @@ -531,6 +531,12 @@ static void rfcomm_dev_modem_status(stru BT_DBG("dlc %p dev %p v24_sig 0x%02x", dlc, dev, v24_sig); + if ((dev->modem_status & TIOCM_CD) && + !(v24_sig & RFCOMM_V24_DV)) { + if (dev->tty) + tty_hangup(dev->tty); + } + dev->modem_status = ((v24_sig & RFCOMM_V24_RTC) ? (TIOCM_DSR | TIOCM_DTR) : 0) | ((v24_sig & RFCOMM_V24_RTR) ? (TIOCM_RTS | TIOCM_CTS) : 0) |