Re: [PATCH BlueZ 1/1] FIX: Fixed oversight of not supporting vendor model in Meshctl tool's sub-add command

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Applied with minor fix-up of commit message.

On Fri, 2021-11-05 at 09:57 -0700, Jefferson Zhai wrote:
> From: Jefferson Zhai <jefferson@xxxxxxx>
> 
> ---
>  tools/mesh-gatt/config-client.c | 16 +++++++++++-----
>  1 file changed, 11 insertions(+), 5 deletions(-)
> 
> diff --git a/tools/mesh-gatt/config-client.c b/tools/mesh-gatt/config-client.c
> index 3ec42d94a..7bdd028d2 100644
> --- a/tools/mesh-gatt/config-client.c
> +++ b/tools/mesh-gatt/config-client.c
> @@ -972,7 +972,7 @@ static void cmd_sub_add(int argc, char *argv[])
>         n = mesh_opcode_set(OP_CONFIG_MODEL_SUB_ADD, msg);
>  
>         parm_cnt = read_input_parameters(argc, argv);
> -       if (parm_cnt != 3) {
> +       if (parm_cnt != 3 && parm_cnt != 4) {
>                 bt_shell_printf("Bad arguments: %s\n", argv[1]);
>                 return bt_shell_noninteractive_quit(EXIT_FAILURE);
>         }
> @@ -984,9 +984,15 @@ static void cmd_sub_add(int argc, char *argv[])
>         /* Subscription Address */
>         put_le16(parms[1], msg + n);
>         n += 2;
> -       /* SIG Model ID */
> -       put_le16(parms[2], msg + n);
> -       n += 2;
> +       /* Model ID */
> +       if (parm_cnt == 4) {
> +               put_le16(parms[3], msg + n);
> +               put_le16(parms[2], msg + n + 2);
> +               n += 4;
> +       } else {
> +               put_le16(parms[2], msg + n);
> +               n += 2;
> +       }
>  
>         if (!config_send(msg, n)) {
>                 bt_shell_printf("Failed to send \"ADD SUBSCRIPTION\"\n");
> @@ -1222,7 +1228,7 @@ static const struct bt_shell_menu cfg_menu = {
>                                 cmd_hb_sub_set,     "Set heartbeat subscribe"},
>         {"hb-sub-get",           NULL,                   cmd_hb_sub_get,
>                                                 "Get heartbeat subscribe"},
> -       {"sub-add", "<ele_addr> <sub_addr> <model id>",
> +       {"sub-add", "<ele_addr> <sub_addr> <mod id> [cid]",
>                                 cmd_sub_add,    "Add subscription"},
>         {"sub-get", "<ele_addr> <model id>",
>                                 cmd_sub_get,    "Get subscription"},





[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux