diff mbox series

[v3] Bluetooth: mgmt: Fix MGMT add advmon with RSSI command

Message ID 20230316181112.v3.1.I9113bb4f444afc2c5cb19d1e96569e01ddbd8939@changeid
State Superseded
Headers show
Series [v3] Bluetooth: mgmt: Fix MGMT add advmon with RSSI command | expand

Commit Message

Howard Chung March 16, 2023, 10:11 a.m. UTC
The MGMT command: MGMT_OP_ADD_ADV_PATTERNS_MONITOR_RSSI uses variable
length argument. This causes host not able to register advmon with rssi.

This patch has been locally tested by adding monitor with rssi via
btmgmt on a kernel 6.1 machine.

Reviewed-by: Archie Pusaka <apusaka@chromium.org>
Fixes: b338d91703fa ("Bluetooth: Implement support for Mesh")
Signed-off-by: Howard Chung <howardchung@google.com>
---

Changes in v3:
- Moved commit-notes to commit message
- Fixed a typo

Changes in v2:
- Fixed git user name
- Included commit notes for the test step.

 net/bluetooth/mgmt.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Luiz Augusto von Dentz March 16, 2023, 5:34 p.m. UTC | #1
Hi Howard,

On Thu, Mar 16, 2023 at 3:11 AM Howard Chung <howardchung@google.com> wrote:
>
> The MGMT command: MGMT_OP_ADD_ADV_PATTERNS_MONITOR_RSSI uses variable
> length argument. This causes host not able to register advmon with rssi.

There is a way to prevent these regression, which would be to actually
implement tests for these commands in the likes of mgmt-tester so we
can catch regressions via CI, so I hope to see some work in this
direction.

> This patch has been locally tested by adding monitor with rssi via
> btmgmt on a kernel 6.1 machine.
>
> Reviewed-by: Archie Pusaka <apusaka@chromium.org>
> Fixes: b338d91703fa ("Bluetooth: Implement support for Mesh")
> Signed-off-by: Howard Chung <howardchung@google.com>
> ---
>
> Changes in v3:
> - Moved commit-notes to commit message
> - Fixed a typo
>
> Changes in v2:
> - Fixed git user name
> - Included commit notes for the test step.
>
>  net/bluetooth/mgmt.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
> index 39589f864ea7..249dc6777fb4 100644
> --- a/net/bluetooth/mgmt.c
> +++ b/net/bluetooth/mgmt.c
> @@ -9357,7 +9357,8 @@ static const struct hci_mgmt_handler mgmt_handlers[] = {
>         { add_ext_adv_data,        MGMT_ADD_EXT_ADV_DATA_SIZE,
>                                                 HCI_MGMT_VAR_LEN },
>         { add_adv_patterns_monitor_rssi,
> -                                  MGMT_ADD_ADV_PATTERNS_MONITOR_RSSI_SIZE },
> +                                  MGMT_ADD_ADV_PATTERNS_MONITOR_RSSI_SIZE,
> +                                               HCI_MGMT_VAR_LEN },
>         { set_mesh,                MGMT_SET_MESH_RECEIVER_SIZE,
>                                                 HCI_MGMT_VAR_LEN },
>         { mesh_features,           MGMT_MESH_READ_FEATURES_SIZE },
> --
> 2.40.0.rc2.332.ga46443480c-goog
>
diff mbox series

Patch

diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index 39589f864ea7..249dc6777fb4 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -9357,7 +9357,8 @@  static const struct hci_mgmt_handler mgmt_handlers[] = {
 	{ add_ext_adv_data,        MGMT_ADD_EXT_ADV_DATA_SIZE,
 						HCI_MGMT_VAR_LEN },
 	{ add_adv_patterns_monitor_rssi,
-				   MGMT_ADD_ADV_PATTERNS_MONITOR_RSSI_SIZE },
+				   MGMT_ADD_ADV_PATTERNS_MONITOR_RSSI_SIZE,
+						HCI_MGMT_VAR_LEN },
 	{ set_mesh,                MGMT_SET_MESH_RECEIVER_SIZE,
 						HCI_MGMT_VAR_LEN },
 	{ mesh_features,           MGMT_MESH_READ_FEATURES_SIZE },