aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGustavo F. Padovan <padovan@profusion.mobi>2010-06-08 18:09:48 -0400
committerMarcel Holtmann <marcel@holtmann.org>2010-07-21 13:39:08 -0400
commit742e519b0db4a470008118b48f0baea6126e2122 (patch)
tree3ef3d25004e14a1838d95046e268900f304e7305
parent85eb53c6f719523dde9e0658823dffd2664d4d1c (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>
-rw-r--r--net/bluetooth/l2cap.c3
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);