Bluetooth: Introduce a new HCI_BREDR_ENABLED flag
authorJohan Hedberg <johan.hedberg@intel.com>
Wed, 2 Oct 2013 10:43:13 +0000 (13:43 +0300)
committerMarcel Holtmann <marcel@holtmann.org>
Wed, 2 Oct 2013 10:48:28 +0000 (03:48 -0700)
commit56f8790102f48a4959a729ecdccff332591014e1
treef82d05066b39122e2eb8fcb77550fba543605449
parent2cc8689028cd077e3e9cb9a192b1bb524fe38935
Bluetooth: Introduce a new HCI_BREDR_ENABLED flag

To allow treating dual-mode (BR/EDR/LE) controllers as single-mode ones
(LE-only) we want to introduce a new HCI_BREDR_ENABLED flag to track
whether BR/EDR is enabled or not (previously we simply looked at the
feature bit with lmp_bredr_enabled).

This patch add the new flag and updates the relevant places to test
against it instead of using lmp_bredr_enabled. The flag is by default
enabled when registering an adapter and only cleared if necessary once
the local features have been read during the HCI init procedure.

We cannot completely block BR/EDR usage in case user space uses raw HCI
sockets but the patch tries to block this in places where possible, such
as the various BR/EDR specific ioctls.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
include/net/bluetooth/hci.h
net/bluetooth/hci_conn.c
net/bluetooth/hci_core.c
net/bluetooth/mgmt.c