summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2013-09-03 18:08:37 -0700
committerGustavo Padovan <gustavo.padovan@collabora.co.uk>2013-09-16 14:35:56 -0300
commitaf750e942ea138553ee5693210c2f918448f58dc (patch)
treeaa295bac2678a330773a0b04755ca9e3f4452bcd
parent23424c0d316941f30cd953fcbff7082044228487 (diff)
downloadlinux-af750e942ea138553ee5693210c2f918448f58dc.tar.gz
linux-af750e942ea138553ee5693210c2f918448f58dc.tar.bz2
linux-af750e942ea138553ee5693210c2f918448f58dc.zip
Bluetooth: Disable upper layer connections when user channel is active
When the device has the user channel flag set, it means it is driven by an user application. In that case do not allow any connections from L2CAP or SCO sockets. This is the same situation as when the device has the raw flag set and it will then return EHOSTUNREACH. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Acked-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
-rw-r--r--net/bluetooth/hci_conn.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
index f0817121ec5e..d2380e0c7df0 100644
--- a/net/bluetooth/hci_conn.c
+++ b/net/bluetooth/hci_conn.c
@@ -518,6 +518,7 @@ struct hci_dev *hci_get_route(bdaddr_t *dst, bdaddr_t *src)
list_for_each_entry(d, &hci_dev_list, list) {
if (!test_bit(HCI_UP, &d->flags) ||
test_bit(HCI_RAW, &d->flags) ||
+ test_bit(HCI_USER_CHANNEL, &d->dev_flags) ||
d->dev_type != HCI_BREDR)
continue;