]> git.baikalelectronics.ru Git - kernel.git/commit
Bluetooth: Add new mgmt_set_advertising command
authorJohan Hedberg <johan.hedberg@intel.com>
Wed, 25 Sep 2013 10:26:10 +0000 (13:26 +0300)
committerGustavo Padovan <gustavo.padovan@collabora.co.uk>
Wed, 25 Sep 2013 17:30:11 +0000 (14:30 -0300)
commit3925f08357c29ded4c9fb503ddbe0d1af1e434eb
tree14fd894110e43e206b83b3146750782aa1677194
parent926f9916d108a9f540673800bfbcea901c7cc7fc
Bluetooth: Add new mgmt_set_advertising command

This patch adds a new mgmt command for enabling and disabling
LE advertising. The command depends on the LE setting being enabled
first and will return a "rejected" response otherwise. The patch also
adds safeguards so that there will ever only be one set_le or
set_advertising command pending per adapter.

The response handling and new_settings event sending is done in an
asynchronous request callback, meaning raw HCI access from user space to
enable advertising (e.g. hciconfig leadv) will not trigger the
new_settings event. This is intentional since trying to support mixed
raw HCI and mgmt access would mean adding extra state tracking or new
helper functions, essentially negating the benefit of using the
asynchronous request framework. The HCI_LE_ENABLED and HCI_LE_PERIPHERAL
flags however are updated correctly even with raw HCI access so this
will not completely break subsequent access over mgmt.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
include/net/bluetooth/mgmt.h
net/bluetooth/mgmt.c