diff options
author | Gustavo F. Padovan <padovan@profusion.mobi> | 2010-06-08 18:09:48 -0400 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2010-07-21 13:39:08 -0400 |
commit | 742e519b0db4a470008118b48f0baea6126e2122 (patch) | |
tree | 3ef3d25004e14a1838d95046e268900f304e7305 /net/bluetooth/l2cap.c | |
parent | 85eb53c6f719523dde9e0658823dffd2664d4d1c (diff) |
Bluetooth: Disconnect the channel if we don't want the proposed mode
If the device is a STATE 2 then it should disconnect the channel if the
remote device propose a mode different from its mandatory mode.
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/bluetooth/l2cap.c')
-rw-r--r-- | net/bluetooth/l2cap.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c index e78a7504d09c..03e9125dd74f 100644 --- a/net/bluetooth/l2cap.c +++ b/net/bluetooth/l2cap.c | |||
@@ -2617,8 +2617,9 @@ static int l2cap_parse_conf_req(struct sock *sk, void *data) | |||
2617 | break; | 2617 | break; |
2618 | } | 2618 | } |
2619 | 2619 | ||
2620 | if (!l2cap_mode_supported(pi->mode, pi->conn->feat_mask)) | 2620 | if (pi->mode != rfc.mode) |
2621 | return -ECONNREFUSED; | 2621 | return -ECONNREFUSED; |
2622 | |||
2622 | break; | 2623 | break; |
2623 | default: | 2624 | default: |
2624 | pi->mode = l2cap_select_mode(rfc.mode, pi->conn->feat_mask); | 2625 | pi->mode = l2cap_select_mode(rfc.mode, pi->conn->feat_mask); |