* [PATCH 1/2] Bluetooth: Fix not sending Set Extended Scan Response
@ 2020-11-14 0:44 Luiz Augusto von Dentz
2020-11-14 0:44 ` [PATCH 2/2] Bluetooth: Rename get_adv_instance_scan_rsp Luiz Augusto von Dentz
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Luiz Augusto von Dentz @ 2020-11-14 0:44 UTC (permalink / raw)
To: linux-bluetooth
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Current code is actually failing on the following tests of mgmt-tester
because get_adv_instance_scan_rsp_len did not account for flags that
cause scan response data to be included resulting in non-scannable
instance when in fact it should be scannable.
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
---
net/bluetooth/hci_request.c | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/net/bluetooth/hci_request.c b/net/bluetooth/hci_request.c
index 6f12bab4d2fa..bd67c80347cf 100644
--- a/net/bluetooth/hci_request.c
+++ b/net/bluetooth/hci_request.c
@@ -1052,9 +1052,10 @@ static u8 get_adv_instance_scan_rsp_len(struct hci_dev *hdev, u8 instance)
if (!adv_instance)
return 0;
- /* TODO: Take into account the "appearance" and "local-name" flags here.
- * These are currently being ignored as they are not supported.
- */
+ if (adv_instance->flags & MGMT_ADV_FLAG_APPEARANCE ||
+ adv_instance->flags & MGMT_ADV_FLAG_LOCAL_NAME)
+ return 1;
+
return adv_instance->scan_rsp_len;
}
@@ -1591,14 +1592,11 @@ void __hci_req_update_scan_rsp_data(struct hci_request *req, u8 instance)
memset(&cp, 0, sizeof(cp));
- /* Extended scan response data doesn't allow a response to be
- * set if the instance isn't scannable.
- */
- if (get_adv_instance_scan_rsp_len(hdev, instance))
+ if (instance)
len = create_instance_scan_rsp_data(hdev, instance,
cp.data);
else
- len = 0;
+ len = create_default_scan_rsp_data(hdev, cp.data);
if (hdev->scan_rsp_data_len == len &&
!memcmp(cp.data, hdev->scan_rsp_data, len))
--
2.26.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] Bluetooth: Rename get_adv_instance_scan_rsp
2020-11-14 0:44 [PATCH 1/2] Bluetooth: Fix not sending Set Extended Scan Response Luiz Augusto von Dentz
@ 2020-11-14 0:44 ` Luiz Augusto von Dentz
2020-11-23 12:00 ` Marcel Holtmann
2020-11-15 18:51 ` [1/2] Bluetooth: Fix not sending Set Extended Scan Response bluez.test.bot
2020-11-23 12:01 ` [PATCH 1/2] " Marcel Holtmann
2 siblings, 1 reply; 5+ messages in thread
From: Luiz Augusto von Dentz @ 2020-11-14 0:44 UTC (permalink / raw)
To: linux-bluetooth
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This renames get_adv_instance_scan_rsp to adv_instance_is_scannable and
make it return a bool since it was not actually properly return the size
of the scan response as one could expect.
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
---
net/bluetooth/hci_request.c | 32 +++++++++-----------------------
1 file changed, 9 insertions(+), 23 deletions(-)
diff --git a/net/bluetooth/hci_request.c b/net/bluetooth/hci_request.c
index bd67c80347cf..d7429f02d50d 100644
--- a/net/bluetooth/hci_request.c
+++ b/net/bluetooth/hci_request.c
@@ -1040,23 +1040,23 @@ void hci_req_add_le_passive_scan(struct hci_request *req)
own_addr_type, filter_policy, addr_resolv);
}
-static u8 get_adv_instance_scan_rsp_len(struct hci_dev *hdev, u8 instance)
+static bool adv_instance_is_scannable(struct hci_dev *hdev, u8 instance)
{
struct adv_info *adv_instance;
/* Instance 0x00 always set local name */
if (instance == 0x00)
- return 1;
+ return true;
adv_instance = hci_find_adv_instance(hdev, instance);
if (!adv_instance)
- return 0;
+ return false;
if (adv_instance->flags & MGMT_ADV_FLAG_APPEARANCE ||
adv_instance->flags & MGMT_ADV_FLAG_LOCAL_NAME)
- return 1;
+ return true;
- return adv_instance->scan_rsp_len;
+ return adv_instance->scan_rsp_len ? true : false;
}
static void hci_req_clear_event_filter(struct hci_request *req)
@@ -1301,23 +1301,9 @@ void hci_req_prepare_suspend(struct hci_dev *hdev, enum suspended_state next)
wake_up(&hdev->suspend_wait_q);
}
-static u8 get_cur_adv_instance_scan_rsp_len(struct hci_dev *hdev)
+static bool adv_cur_instance_is_scannable(struct hci_dev *hdev)
{
- u8 instance = hdev->cur_adv_instance;
- struct adv_info *adv_instance;
-
- /* Instance 0x00 always set local name */
- if (instance == 0x00)
- return 1;
-
- adv_instance = hci_find_adv_instance(hdev, instance);
- if (!adv_instance)
- return 0;
-
- /* TODO: Take into account the "appearance" and "local-name" flags here.
- * These are currently being ignored as they are not supported.
- */
- return adv_instance->scan_rsp_len;
+ return adv_instance_is_scannable(hdev, hdev->cur_adv_instance);
}
void __hci_req_disable_advertising(struct hci_request *req)
@@ -1473,7 +1459,7 @@ void __hci_req_enable_advertising(struct hci_request *req)
adv_min_interval = hdev->le_adv_min_interval;
adv_max_interval = hdev->le_adv_max_interval;
} else {
- if (get_cur_adv_instance_scan_rsp_len(hdev))
+ if (adv_cur_instance_is_scannable(hdev))
cp.type = LE_ADV_SCAN_IND;
else
cp.type = LE_ADV_NONCONN_IND;
@@ -2015,7 +2001,7 @@ int __hci_req_setup_ext_adv_instance(struct hci_request *req, u8 instance)
cp.evt_properties = cpu_to_le16(LE_EXT_ADV_CONN_IND);
else
cp.evt_properties = cpu_to_le16(LE_LEGACY_ADV_IND);
- } else if (get_adv_instance_scan_rsp_len(hdev, instance)) {
+ } else if (adv_instance_is_scannable(hdev, instance)) {
if (secondary_adv)
cp.evt_properties = cpu_to_le16(LE_EXT_ADV_SCAN_IND);
else
--
2.26.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* RE: [1/2] Bluetooth: Fix not sending Set Extended Scan Response
2020-11-14 0:44 [PATCH 1/2] Bluetooth: Fix not sending Set Extended Scan Response Luiz Augusto von Dentz
2020-11-14 0:44 ` [PATCH 2/2] Bluetooth: Rename get_adv_instance_scan_rsp Luiz Augusto von Dentz
@ 2020-11-15 18:51 ` bluez.test.bot
2020-11-23 12:01 ` [PATCH 1/2] " Marcel Holtmann
2 siblings, 0 replies; 5+ messages in thread
From: bluez.test.bot @ 2020-11-15 18:51 UTC (permalink / raw)
To: linux-bluetooth, luiz.dentz
[-- Attachment #1: Type: text/plain, Size: 1086 bytes --]
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=384043
---Test result---
##############################
Test: CheckPatch - FAIL
Output:
workflow: Add workflow files for ci
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#18:
new file mode 100644
ERROR: Missing Signed-off-by: line(s)
total: 1 errors, 1 warnings, 49 lines checked
NOTE: For some of the reported defects, checkpatch may be able to
mechanically convert to the typical style using --fix or --fix-inplace.
"[PATCH] workflow: Add workflow files for ci" has style problems, please review.
NOTE: If any of the errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.
##############################
Test: CheckGitLint - PASS
##############################
Test: CheckBuildK - PASS
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] Bluetooth: Rename get_adv_instance_scan_rsp
2020-11-14 0:44 ` [PATCH 2/2] Bluetooth: Rename get_adv_instance_scan_rsp Luiz Augusto von Dentz
@ 2020-11-23 12:00 ` Marcel Holtmann
0 siblings, 0 replies; 5+ messages in thread
From: Marcel Holtmann @ 2020-11-23 12:00 UTC (permalink / raw)
To: Luiz Augusto von Dentz; +Cc: linux-bluetooth
Hi Luiz,
> This renames get_adv_instance_scan_rsp to adv_instance_is_scannable and
> make it return a bool since it was not actually properly return the size
> of the scan response as one could expect.
>
> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> ---
> net/bluetooth/hci_request.c | 32 +++++++++-----------------------
> 1 file changed, 9 insertions(+), 23 deletions(-)
patch has been applied to bluetooth-next tree.
Regards
Marcel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] Bluetooth: Fix not sending Set Extended Scan Response
2020-11-14 0:44 [PATCH 1/2] Bluetooth: Fix not sending Set Extended Scan Response Luiz Augusto von Dentz
2020-11-14 0:44 ` [PATCH 2/2] Bluetooth: Rename get_adv_instance_scan_rsp Luiz Augusto von Dentz
2020-11-15 18:51 ` [1/2] Bluetooth: Fix not sending Set Extended Scan Response bluez.test.bot
@ 2020-11-23 12:01 ` Marcel Holtmann
2 siblings, 0 replies; 5+ messages in thread
From: Marcel Holtmann @ 2020-11-23 12:01 UTC (permalink / raw)
To: Luiz Augusto von Dentz; +Cc: linux-bluetooth
Hi Luiz,
> Current code is actually failing on the following tests of mgmt-tester
> because get_adv_instance_scan_rsp_len did not account for flags that
> cause scan response data to be included resulting in non-scannable
> instance when in fact it should be scannable.
>
> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> ---
> net/bluetooth/hci_request.c | 14 ++++++--------
> 1 file changed, 6 insertions(+), 8 deletions(-)
patch has been applied to bluetooth-next tree.
Regards
Marcel
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-11-23 12:02 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-11-14 0:44 [PATCH 1/2] Bluetooth: Fix not sending Set Extended Scan Response Luiz Augusto von Dentz
2020-11-14 0:44 ` [PATCH 2/2] Bluetooth: Rename get_adv_instance_scan_rsp Luiz Augusto von Dentz
2020-11-23 12:00 ` Marcel Holtmann
2020-11-15 18:51 ` [1/2] Bluetooth: Fix not sending Set Extended Scan Response bluez.test.bot
2020-11-23 12:01 ` [PATCH 1/2] " Marcel Holtmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).