diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2006-07-03 04:37:55 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-07-03 22:54:09 -0400 |
commit | 300b93974ff64f1bef1ac8294547c573954f0300 (patch) | |
tree | 94b33acffd99c50986ba4ede3e61495485a88342 /net/bluetooth | |
parent | 7c2660b00fae0575dd4ce5c7b6bf30762b632045 (diff) |
[Bluetooth] Add RFCOMM role switch support
This patch adds the support for RFCOMM role switching before the
connection is fully established.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/bluetooth')
-rw-r--r-- | net/bluetooth/rfcomm/core.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/bluetooth/rfcomm/core.c b/net/bluetooth/rfcomm/core.c index fe18dc2dd3c1..155a2b93760e 100644 --- a/net/bluetooth/rfcomm/core.c +++ b/net/bluetooth/rfcomm/core.c | |||
@@ -1150,6 +1150,8 @@ static inline int rfcomm_check_link_mode(struct rfcomm_dlc *d) | |||
1150 | 1150 | ||
1151 | static void rfcomm_dlc_accept(struct rfcomm_dlc *d) | 1151 | static void rfcomm_dlc_accept(struct rfcomm_dlc *d) |
1152 | { | 1152 | { |
1153 | struct sock *sk = d->session->sock->sk; | ||
1154 | |||
1153 | BT_DBG("dlc %p", d); | 1155 | BT_DBG("dlc %p", d); |
1154 | 1156 | ||
1155 | rfcomm_send_ua(d->session, d->dlci); | 1157 | rfcomm_send_ua(d->session, d->dlci); |
@@ -1159,6 +1161,9 @@ static void rfcomm_dlc_accept(struct rfcomm_dlc *d) | |||
1159 | d->state_change(d, 0); | 1161 | d->state_change(d, 0); |
1160 | rfcomm_dlc_unlock(d); | 1162 | rfcomm_dlc_unlock(d); |
1161 | 1163 | ||
1164 | if (d->link_mode & RFCOMM_LM_MASTER) | ||
1165 | hci_conn_switch_role(l2cap_pi(sk)->conn->hcon, 0x00); | ||
1166 | |||
1162 | rfcomm_send_msc(d->session, 1, d->dlci, d->v24_sig); | 1167 | rfcomm_send_msc(d->session, 1, d->dlci, d->v24_sig); |
1163 | } | 1168 | } |
1164 | 1169 | ||