From 1c353f721f6a5563fb7d696324338d6df85b1e4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=E4s?= Date: Tue, 9 Aug 2005 20:28:21 -0700 Subject: [PATCH] --- yaml --- r: 6317 b: refs/heads/master c: 7b9eb9e2099f6f4acd6a36bcd7820d27c3cf5ee3 h: refs/heads/master i: 6315: 85225736693711069d2672ee6740c5b2fc0482c0 v: v3 --- [refs] | 2 +- trunk/net/bluetooth/rfcomm/tty.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 8bbc039c98e3..5d648d0d1d7c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 85a1e930bf628700e8e9c166b1f5c1c26d3651cc +refs/heads/master: 7b9eb9e2099f6f4acd6a36bcd7820d27c3cf5ee3 diff --git a/trunk/net/bluetooth/rfcomm/tty.c b/trunk/net/bluetooth/rfcomm/tty.c index 6304590fd36a..67d9dd6b0fac 100644 --- a/trunk/net/bluetooth/rfcomm/tty.c +++ b/trunk/net/bluetooth/rfcomm/tty.c @@ -528,9 +528,14 @@ static void rfcomm_dev_modem_status(struct rfcomm_dlc *dlc, u8 v24_sig) struct rfcomm_dev *dev = dlc->owner; if (!dev) return; - + 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 && !C_CLOCAL(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) |