summaryrefslogtreecommitdiffstats
path: root/net/bluetooth
diff options
context:
space:
mode:
authorMichał Narajowski <michal.narajowski@codecoup.pl>2016-10-05 12:28:26 +0200
committerMarcel Holtmann <marcel@holtmann.org>2016-10-06 11:52:29 +0200
commit7ddb30c7471ed69b75ae4c2601d45cbda5d390ff (patch)
tree69deebc849a5c96653744295c512b589c341b10c /net/bluetooth
parentcecbf3e932c1fa6df45fd6cc4fc8081a4cb45bcd (diff)
downloadlinux-7ddb30c7471ed69b75ae4c2601d45cbda5d390ff.tar.gz
linux-7ddb30c7471ed69b75ae4c2601d45cbda5d390ff.tar.bz2
linux-7ddb30c7471ed69b75ae4c2601d45cbda5d390ff.zip
Bluetooth: Add appearance to default scan rsp data
Add appearance value to beginning of scan rsp data for default advertising instance if the value is not 0. Signed-off-by: Michał Narajowski <michal.narajowski@codecoup.pl> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/bluetooth')
-rw-r--r--net/bluetooth/hci_request.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/net/bluetooth/hci_request.c b/net/bluetooth/hci_request.c
index fd6406df8a07..3c44c54a056f 100644
--- a/net/bluetooth/hci_request.c
+++ b/net/bluetooth/hci_request.c
@@ -1022,7 +1022,16 @@ static u8 append_local_name(struct hci_dev *hdev, u8 *ptr, u8 ad_len)
static u8 create_default_scan_rsp_data(struct hci_dev *hdev, u8 *ptr)
{
- return append_local_name(hdev, ptr, 0);
+ u8 scan_rsp_len = 0;
+
+ if (hdev->appearance) {
+ ptr[0] = 3;
+ ptr[1] = EIR_APPEARANCE;
+ put_unaligned_le16(hdev->appearance, ptr + 2);
+ scan_rsp_len += 4;
+ }
+
+ return append_local_name(hdev, ptr + scan_rsp_len, scan_rsp_len);
}
static u8 create_instance_scan_rsp_data(struct hci_dev *hdev, u8 instance,