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

From: Shuai Zhang
Date: Sun Jan 04 2026 - 22:36:48 EST


Dear

On 1/1/2026 1:23 AM, Dmitry Baryshkov wrote:
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.


Thank you for your suggestion, I will update it.



+ 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