diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2013-10-18 19:38:09 -0400 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@intel.com> | 2013-10-19 09:28:06 -0400 |
commit | 79830f66e3cbd224bcf697b032dce9828b5a3c9e (patch) | |
tree | 420c67d76a63acee3b8996d36683325e5fc6cb32 /net/bluetooth/mgmt.c | |
parent | 8f8625cd8067827e2450e4ddec20f5521896114a (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.c | 10 |
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 | ¶m_cp); | 3239 | ¶m_cp); |
3246 | 3240 | ||