Re: [PATCH v5 2/2] Bluetooth: btqca: Add WCN6855 firmware priority selection feature

From: Dmitry Baryshkov

Date: Wed Dec 31 2025 - 12:23:31 EST


On Wed, Dec 31, 2025 at 03:58:17PM +0800, Shuai Zhang wrote:
> Historically, WCN685x and QCA2066 shared the same firmware files.
> Now, changes are planned for the firmware that will make it incompatible
> with QCA2066, so a new firmware name is required for WCN685x.
>
> Test Steps:
> - Boot device
> - Check the BTFW loading status via dmesg
>
> Sanity pass and Test Log:
> QCA Downloading qca/wcnhpbftfw21.tlv
> Direct firmware load for qca/wcnhpbftfw21.tlv failed with error -2
> QCA Downloading qca/hpbftfw21.tlv
>
> Signed-off-by: Shuai Zhang <shuai.zhang@xxxxxxxxxxxxxxxx>
> ---
> drivers/bluetooth/btqca.c | 25 +++++++++++++++++++++----
> 1 file changed, 21 insertions(+), 4 deletions(-)
> @@ -936,8 +944,17 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
>
> err = qca_download_firmware(hdev, &config, soc_type, rom_ver);
> if (err < 0) {
> - bt_dev_err(hdev, "QCA Failed to download NVM (%d)", err);
> - return err;
> + if (!firmware_name && soc_type == QCA_WCN6855) {

Same comment as for the first patch: move this one level up,
incorporating err < 0 check.

> + qca_get_nvm_name_by_board(config.fwname, sizeof(config.fwname),
> + "hpnv", soc_type, ver, rom_ver, boardid);
> + err = qca_download_firmware(hdev, &config, soc_type, rom_ver);
> + }
> +
> + if (err) {
> + bt_dev_err(hdev, "QCA Failed to request file: %s (%d)",
> + config.fwname, err);
> + return err;
> + }
> }
>
> switch (soc_type) {
> --
> 2.34.1
>

--
With best wishes
Dmitry