Re: [PATCH] Bluetooth: btintel: Fix missing free skb in btintel_setup_combined()

From: Tedd Ho-Jeong An
Date: Mon Dec 05 2022 - 17:00:23 EST


Hi ShaoBo,

On Mon, 2022-12-05 at 21:53 +0800, Wang ShaoBo wrote:
> skb allocated by __hci_cmd_sync would not be used whether in checking
> for supported iBT hardware variants or after, we should free it in all
> error branches, this patch makes the case read version failed or default
> error case free skb before return.
>
> Fixes: c86c7285bb08 ("Bluetooth: btintel: Fix the legacy bootloader returns tlv based version")
> Fixes: 019a1caa7fd2 ("Bluetooth: btintel: Refactoring setup routine for bootloader devices")
> Signed-off-by: Wang ShaoBo <bobo.shaobowang@xxxxxxxxxx>

Reviewed-by: Tedd Ho-Jeong An <tedd.an@xxxxxxxxx>

> ---
>  drivers/bluetooth/btintel.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
> index a657e9a3e96a..f6b4b7a1be4c 100644
> --- a/drivers/bluetooth/btintel.c
> +++ b/drivers/bluetooth/btintel.c
> @@ -2524,7 +2524,7 @@ static int btintel_setup_combined(struct hci_dev *hdev)
>                  */
>                 err = btintel_read_version(hdev, &ver);
>                 if (err)
> -                       return err;
> +                       break;
>  
>                 /* Apply the device specific HCI quirks
>                  *
> @@ -2566,7 +2566,8 @@ static int btintel_setup_combined(struct hci_dev *hdev)
>         default:
>                 bt_dev_err(hdev, "Unsupported Intel hw variant (%u)",
>                            INTEL_HW_VARIANT(ver_tlv.cnvi_bt));
> -               return -EINVAL;
> +               err = -EINVAL;
> +               break;
>         }
>  
>  exit_error:

Regards,
Tedd Ho-Jeong An