aboutsummaryrefslogtreecommitdiffstats
path: root/net/bluetooth/hci_request.c
diff options
context:
space:
mode:
authorMichał Narajowski <michal.narajowski@codecoup.pl>2016-09-18 06:50:03 -0400
committerMarcel Holtmann <marcel@holtmann.org>2016-09-19 14:19:34 -0400
commitc4960ecf2b09210930964ef2c05ce2590802ccf4 (patch)
tree9e9b497d8ddcf7f2aed5b1ada5735d40837429ef /net/bluetooth/hci_request.c
parent7c295c4801b2de24fc25687eb0cb73cf0c99d114 (diff)
Bluetooth: Add support for appearance in scan rsp
This patch enables prepending appearance value to scan response data. It also adds support for setting appearance value through mgmt command. If currently advertised instance has apperance flag set it is expired immediately. Signed-off-by: Michał Narajowski <michal.narajowski@codecoup.pl> Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/bluetooth/hci_request.c')
-rw-r--r--net/bluetooth/hci_request.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/net/bluetooth/hci_request.c b/net/bluetooth/hci_request.c
index 0ce6cdd278b2..c8135680c43e 100644
--- a/net/bluetooth/hci_request.c
+++ b/net/bluetooth/hci_request.c
@@ -1015,6 +1015,14 @@ static u8 create_instance_scan_rsp_data(struct hci_dev *hdev, u8 instance,
1015 1015
1016 instance_flags = adv_instance->flags; 1016 instance_flags = adv_instance->flags;
1017 1017
1018 if ((instance_flags & MGMT_ADV_FLAG_APPEARANCE) && hdev->appearance) {
1019 ptr[0] = 3;
1020 ptr[1] = EIR_APPEARANCE;
1021 put_unaligned_le16(hdev->appearance, ptr + 2);
1022 scan_rsp_len += 4;
1023 ptr += 4;
1024 }
1025
1018 memcpy(ptr, adv_instance->scan_rsp_data, 1026 memcpy(ptr, adv_instance->scan_rsp_data,
1019 adv_instance->scan_rsp_len); 1027 adv_instance->scan_rsp_len);
1020 1028