From 95dc8a68cf1e5303e3b1b5ef529a1c4b35036642 Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Tue, 8 Mar 2022 17:58:40 -0800 Subject: [PATCH] btdev: Fix response to LE Set Extended Advertising Parameters The response should both the status and TX Power regardless if the command succeeds or not. Signed-off-by: Manika Shrivastava Signed-off-by: Ayush Garg --- emulator/btdev.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/emulator/btdev.c b/emulator/btdev.c index 6834ec1..0651a28 100755 --- a/emulator/btdev.c +++ b/emulator/btdev.c @@ -4671,7 +4671,8 @@ static int cmd_set_ext_adv_params(struct btdev *dev, const void *data, const struct bt_hci_cmd_le_set_ext_adv_params *cmd = data; struct bt_hci_rsp_le_set_ext_adv_params rsp; struct le_ext_adv *ext_adv; - uint8_t status; + + memset(&rsp, 0, sizeof(rsp)); /* Check if Ext Adv is already existed */ ext_adv = queue_find(dev->le_ext_adv, match_ext_adv_handle, @@ -4679,26 +4680,26 @@ static int cmd_set_ext_adv_params(struct btdev *dev, const void *data, if (!ext_adv) { /* No more than maximum number */ if (queue_length(dev->le_ext_adv) >= MAX_EXT_ADV_SETS) { - status = BT_HCI_ERR_MEM_CAPACITY_EXCEEDED; + rsp.status = BT_HCI_ERR_MEM_CAPACITY_EXCEEDED; cmd_complete(dev, BT_HCI_CMD_LE_SET_EXT_ADV_PARAMS, - &status, sizeof(status)); + &rsp, sizeof(rsp)); return 0; } /* Create new set */ ext_adv = le_ext_adv_new(dev, cmd->handle); if (!ext_adv) { - status = BT_HCI_ERR_MEM_CAPACITY_EXCEEDED; + rsp.status = BT_HCI_ERR_MEM_CAPACITY_EXCEEDED; cmd_complete(dev, BT_HCI_CMD_LE_SET_EXT_ADV_PARAMS, - &status, sizeof(status)); + &rsp, sizeof(rsp)); return 0; } } if (ext_adv->enable) { - status = BT_HCI_ERR_COMMAND_DISALLOWED; - cmd_complete(dev, BT_HCI_CMD_LE_SET_EXT_ADV_PARAMS, &status, - sizeof(status)); + rsp.status = BT_HCI_ERR_COMMAND_DISALLOWED; + cmd_complete(dev, BT_HCI_CMD_LE_SET_EXT_ADV_PARAMS, &rsp, + sizeof(rsp)); return 0; } -- 2.7.4