summaryrefslogtreecommitdiffstats
path: root/net/bluetooth
diff options
context:
space:
mode:
authorGustavo F. Padovan <padovan@profusion.mobi>2010-06-09 00:09:48 +0200
committerMarcel Holtmann <marcel@holtmann.org>2010-07-21 19:39:08 +0200
commit742e519b0db4a470008118b48f0baea6126e2122 (patch)
tree3ef3d25004e14a1838d95046e268900f304e7305 /net/bluetooth
parentBluetooth: Change the way we set ERTM mode as mandatory (diff)
downloadlinux-742e519b0db4a470008118b48f0baea6126e2122.tar.xz
linux-742e519b0db4a470008118b48f0baea6126e2122.zip
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')
-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)
break;
}
- if (!l2cap_mode_supported(pi->mode, pi->conn->feat_mask))
+ if (pi->mode != rfc.mode)
return -ECONNREFUSED;
+
break;
default:
pi->mode = l2cap_select_mode(rfc.mode, pi->conn->feat_mask);