Bluetooth: Fix using advertising instance duration as timeout
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Thu, 24 Oct 2019 13:15:42 +0000 (16:15 +0300)
committerMarcel Holtmann <marcel@holtmann.org>
Sat, 26 Oct 2019 05:28:19 +0000 (07:28 +0200)
When using LE Set Extended Advertising Enable command the duration
refers to the lifetime of instance not the length which is actually
controlled by the interval_min and interval_max when setting the
parameters.

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/hci_request.c

index 7f6a581..3a2ec34 100644 (file)
@@ -1690,7 +1690,7 @@ int __hci_req_enable_ext_advertising(struct hci_request *req, u8 instance)
         * scheduling it.
         */
        if (adv_instance && adv_instance->duration) {
-               u16 duration = adv_instance->duration * MSEC_PER_SEC;
+               u16 duration = adv_instance->timeout * MSEC_PER_SEC;
 
                /* Time = N * 10 ms */
                adv_set->duration = cpu_to_le16(duration / 10);