Bluetooth: Fix advertising handle is set to 0
authorTedd Ho-Jeong An <tedd.an@intel.com>
Fri, 1 May 2020 17:00:50 +0000 (10:00 -0700)
committerMarcel Holtmann <marcel@holtmann.org>
Mon, 11 May 2020 10:13:38 +0000 (12:13 +0200)
This patch fix the advertising handle is set to 0 regardless of actual
instance value. The affected commands are LE Set Advertising Set Random
Address, LE Set Extended Advertising Data, and LE Set Extended Scan
Response Data commands.

Signed-off-by: Tedd Ho-Jeong An <tedd.an@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/hci_request.c

index 9ea4010..3f470f0 100644 (file)
@@ -1447,7 +1447,7 @@ void __hci_req_update_scan_rsp_data(struct hci_request *req, u8 instance)
                memcpy(hdev->scan_rsp_data, cp.data, sizeof(cp.data));
                hdev->scan_rsp_data_len = len;
 
-               cp.handle = 0;
+               cp.handle = instance;
                cp.length = len;
                cp.operation = LE_SET_ADV_DATA_OP_COMPLETE;
                cp.frag_pref = LE_SET_ADV_DATA_NO_FRAG;
@@ -1591,7 +1591,7 @@ void __hci_req_update_adv_data(struct hci_request *req, u8 instance)
                hdev->adv_data_len = len;
 
                cp.length = len;
-               cp.handle = 0;
+               cp.handle = instance;
                cp.operation = LE_SET_ADV_DATA_OP_COMPLETE;
                cp.frag_pref = LE_SET_ADV_DATA_NO_FRAG;
 
@@ -1876,7 +1876,7 @@ int __hci_req_setup_ext_adv_instance(struct hci_request *req, u8 instance)
 
                memset(&cp, 0, sizeof(cp));
 
-               cp.handle = 0;
+               cp.handle = instance;
                bacpy(&cp.bdaddr, &random_addr);
 
                hci_req_add(req,