Bluetooth: Fix advertising and active scanning co-existence
authorJohan Hedberg <johan.hedberg@intel.com>
Tue, 8 Jul 2014 12:07:53 +0000 (15:07 +0300)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 8 Jul 2014 12:22:06 +0000 (14:22 +0200)
commite8bb6b9739e2e80e0e413f56816af3871388cfe8
tree19cd939c436586fc2857a0160dc0e655c1e435e6
parent376f54c171674ac1f9a2eefe67d413db4836d25a
Bluetooth: Fix advertising and active scanning co-existence

Many controllers allow simultaneous active scanning and advertising
(e.g. Intel and Broadcom) but some do not (e.g. CSR). It's therefore
safest to implement mutual exclusion of these states in the kernel.

This patch ensures that the two states are never entered simultaneously.
Extra precaution needs to be taken for outgoing connection attempts in
slave role (i.e. through directed advertising) in which case the
operation that came first has precedence and the one that comes after
gets a rejection.

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