summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2013-10-02 22:10:32 -0700
committerJohan Hedberg <johan.hedberg@intel.com>2013-10-03 09:29:38 +0300
commit62af444319120347371ae24043da28db75b729db (patch)
tree1cf337c6b393a7571b6dcee8aa01c036823404be
parentcdba5281b2496ffbca332e006f258951233bf53d (diff)
downloadlinux-62af444319120347371ae24043da28db75b729db.tar.bz2
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>
-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,
void *data, u16 len)
{
struct mgmt_cp_set_static_address *cp = data;
- u8 status;
int err;
BT_DBG("%s", hdev->name);
- status = mgmt_le_support(hdev);
- if (status)
+ if (!lmp_le_capable(hdev))
return cmd_status(sk, hdev->id, MGMT_OP_SET_STATIC_ADDRESS,
- status);
+ MGMT_STATUS_NOT_SUPPORTED);
if (hdev_is_powered(hdev))
return cmd_status(sk, hdev->id, MGMT_OP_SET_STATIC_ADDRESS,