aboutsummaryrefslogtreecommitdiffstats
path: root/net/bluetooth/mgmt.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2013-10-18 19:38:09 -0400
committerJohan Hedberg <johan.hedberg@intel.com>2013-10-19 09:28:06 -0400
commit79830f66e3cbd224bcf697b032dce9828b5a3c9e (patch)
tree420c67d76a63acee3b8996d36683325e5fc6cb32 /net/bluetooth/mgmt.c
parent8f8625cd8067827e2450e4ddec20f5521896114a (diff)
Bluetooth: Select the own address type during initial setup phase
The own address type is based on the fact if the controller has a public address or not. This means that this detail can be just configured once during setup phase. 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.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index a727b47fcac5..fb7fc9f17af1 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -1325,10 +1325,7 @@ static void enable_advertising(struct hci_request *req)
1325 cp.min_interval = __constant_cpu_to_le16(0x0800); 1325 cp.min_interval = __constant_cpu_to_le16(0x0800);
1326 cp.max_interval = __constant_cpu_to_le16(0x0800); 1326 cp.max_interval = __constant_cpu_to_le16(0x0800);
1327 cp.type = get_adv_type(hdev); 1327 cp.type = get_adv_type(hdev);
1328 if (bacmp(&hdev->bdaddr, BDADDR_ANY)) 1328 cp.own_address_type = hdev->own_addr_type;
1329 cp.own_address_type = ADDR_LE_DEV_PUBLIC;
1330 else
1331 cp.own_address_type = ADDR_LE_DEV_RANDOM;
1332 cp.channel_map = 0x07; 1329 cp.channel_map = 0x07;
1333 1330
1334 hci_req_add(req, HCI_OP_LE_SET_ADV_PARAM, sizeof(cp), &cp); 1331 hci_req_add(req, HCI_OP_LE_SET_ADV_PARAM, sizeof(cp), &cp);
@@ -3237,10 +3234,7 @@ static int start_discovery(struct sock *sk, struct hci_dev *hdev,
3237 param_cp.type = LE_SCAN_ACTIVE; 3234 param_cp.type = LE_SCAN_ACTIVE;
3238 param_cp.interval = cpu_to_le16(DISCOV_LE_SCAN_INT); 3235 param_cp.interval = cpu_to_le16(DISCOV_LE_SCAN_INT);
3239 param_cp.window = cpu_to_le16(DISCOV_LE_SCAN_WIN); 3236 param_cp.window = cpu_to_le16(DISCOV_LE_SCAN_WIN);
3240 if (bacmp(&hdev->bdaddr, BDADDR_ANY)) 3237 param_cp.own_address_type = hdev->own_addr_type;
3241 param_cp.own_address_type = ADDR_LE_DEV_PUBLIC;
3242 else
3243 param_cp.own_address_type = ADDR_LE_DEV_RANDOM;
3244 hci_req_add(&req, HCI_OP_LE_SET_SCAN_PARAM, sizeof(param_cp), 3238 hci_req_add(&req, HCI_OP_LE_SET_SCAN_PARAM, sizeof(param_cp),
3245 &param_cp); 3239 &param_cp);
3246 3240