diff options
-rw-r--r-- | include/net/bluetooth/rfcomm.h | 1 | ||||
-rw-r--r-- | net/bluetooth/rfcomm/core.c | 4 | ||||
-rw-r--r-- | net/bluetooth/rfcomm/tty.c | 3 |
3 files changed, 8 insertions, 0 deletions
diff --git a/include/net/bluetooth/rfcomm.h b/include/net/bluetooth/rfcomm.h index 8c54ff37ad4f..4dc8d92a4638 100644 --- a/include/net/bluetooth/rfcomm.h +++ b/include/net/bluetooth/rfcomm.h | |||
@@ -180,6 +180,7 @@ struct rfcomm_dlc { | |||
180 | u8 addr; | 180 | u8 addr; |
181 | u8 priority; | 181 | u8 priority; |
182 | u8 v24_sig; | 182 | u8 v24_sig; |
183 | u8 remote_v24_sig; | ||
183 | u8 mscex; | 184 | u8 mscex; |
184 | u8 out; | 185 | u8 out; |
185 | 186 | ||
diff --git a/net/bluetooth/rfcomm/core.c b/net/bluetooth/rfcomm/core.c index e56bcfc35a49..fcd2cafe70c8 100644 --- a/net/bluetooth/rfcomm/core.c +++ b/net/bluetooth/rfcomm/core.c | |||
@@ -1463,8 +1463,12 @@ static int rfcomm_recv_msc(struct rfcomm_session *s, int cr, struct sk_buff *skb | |||
1463 | clear_bit(RFCOMM_TX_THROTTLED, &d->flags); | 1463 | clear_bit(RFCOMM_TX_THROTTLED, &d->flags); |
1464 | 1464 | ||
1465 | rfcomm_dlc_lock(d); | 1465 | rfcomm_dlc_lock(d); |
1466 | |||
1467 | d->remote_v24_sig = msc->v24_sig; | ||
1468 | |||
1466 | if (d->modem_status) | 1469 | if (d->modem_status) |
1467 | d->modem_status(d, msc->v24_sig); | 1470 | d->modem_status(d, msc->v24_sig); |
1471 | |||
1468 | rfcomm_dlc_unlock(d); | 1472 | rfcomm_dlc_unlock(d); |
1469 | 1473 | ||
1470 | rfcomm_send_msc(s, 0, dlci, msc->v24_sig); | 1474 | rfcomm_send_msc(s, 0, dlci, msc->v24_sig); |
diff --git a/net/bluetooth/rfcomm/tty.c b/net/bluetooth/rfcomm/tty.c index 248802796e12..8fcca08cef8e 100644 --- a/net/bluetooth/rfcomm/tty.c +++ b/net/bluetooth/rfcomm/tty.c | |||
@@ -271,6 +271,9 @@ static int rfcomm_dev_add(struct rfcomm_dev_req *req, struct rfcomm_dlc *dlc) | |||
271 | 271 | ||
272 | dlc->owner = dev; | 272 | dlc->owner = dev; |
273 | dev->dlc = dlc; | 273 | dev->dlc = dlc; |
274 | |||
275 | rfcomm_dev_modem_status(dlc, dlc->remote_v24_sig); | ||
276 | |||
274 | rfcomm_dlc_unlock(dlc); | 277 | rfcomm_dlc_unlock(dlc); |
275 | 278 | ||
276 | /* It's safe to call __module_get() here because socket already | 279 | /* It's safe to call __module_get() here because socket already |