aboutsummaryrefslogtreecommitdiffstats
path: root/net/bluetooth/mgmt.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2013-10-03 01:10:32 -0400
committerJohan Hedberg <johan.hedberg@intel.com>2013-10-03 02:29:38 -0400
commit62af444319120347371ae24043da28db75b729db (patch)
tree1cf337c6b393a7571b6dcee8aa01c036823404be /net/bluetooth/mgmt.c
parentcdba5281b2496ffbca332e006f258951233bf53d (diff)
Bluetooth: Allow setting static address even if LE is disabled
Setting the static address does not depend on LE beeing enabled. It only depends on a controller with LE support. When depending on LE enabled this command becomes really complicated since in case LE gets disabled, it would be required to clear the static address and also its random address representation inside the controller. With future support for private addresses such complex setup should be avoided. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Diffstat (limited to 'net/bluetooth/mgmt.c')
-rw-r--r--net/bluetooth/mgmt.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index b09c86b6996a..bbe012e93b70 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -3280,15 +3280,13 @@ static int set_static_address(struct sock *sk, struct hci_dev *hdev,
3280 void *data, u16 len) 3280 void *data, u16 len)
3281{ 3281{
3282 struct mgmt_cp_set_static_address *cp = data; 3282 struct mgmt_cp_set_static_address *cp = data;
3283 u8 status;
3284 int err; 3283 int err;
3285 3284
3286 BT_DBG("%s", hdev->name); 3285 BT_DBG("%s", hdev->name);
3287 3286
3288 status = mgmt_le_support(hdev); 3287 if (!lmp_le_capable(hdev))
3289 if (status)
3290 return cmd_status(sk, hdev->id, MGMT_OP_SET_STATIC_ADDRESS, 3288 return cmd_status(sk, hdev->id, MGMT_OP_SET_STATIC_ADDRESS,
3291 status); 3289 MGMT_STATUS_NOT_SUPPORTED);
3292 3290
3293 if (hdev_is_powered(hdev)) 3291 if (hdev_is_powered(hdev))
3294 return cmd_status(sk, hdev->id, MGMT_OP_SET_STATIC_ADDRESS, 3292 return cmd_status(sk, hdev->id, MGMT_OP_SET_STATIC_ADDRESS,