]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Bluetooth: qca: Fix poor RF performance for WCN6855
authorZijun Hu <quic_zijuhu@quicinc.com>
Mon, 13 Jan 2025 14:43:23 +0000 (22:43 +0800)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Wed, 15 Jan 2025 15:37:23 +0000 (10:37 -0500)
For WCN6855, board ID specific NVM needs to be downloaded once board ID
is available, but the default NVM is always downloaded currently.

The wrong NVM causes poor RF performance, and effects user experience
for several types of laptop with WCN6855 on the market.

Fix by downloading board ID specific NVM if board ID is available.

Fixes: 095327fede00 ("Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855")
Cc: stable@vger.kernel.org # 6.4
Signed-off-by: Zijun Hu <quic_zijuhu@quicinc.com>
Tested-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Tested-by: Steev Klimaszewski <steev@kali.org> #Thinkpad X13s
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
drivers/bluetooth/btqca.c

index a6b53d1f23dbd4666b93e10635f5f154f38d80a5..cdf09d9a9ad27c080f27c5fe8d61d76085e1fd2c 100644 (file)
@@ -909,8 +909,9 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
                                 "qca/msnv%02x.bin", rom_ver);
                        break;
                case QCA_WCN6855:
-                       snprintf(config.fwname, sizeof(config.fwname),
-                                "qca/hpnv%02x.bin", rom_ver);
+                       qca_read_fw_board_id(hdev, &boardid);
+                       qca_get_nvm_name_by_board(config.fwname, sizeof(config.fwname),
+                                                 "hpnv", soc_type, ver, rom_ver, boardid);
                        break;
                case QCA_WCN7850:
                        qca_get_nvm_name_by_board(config.fwname, sizeof(config.fwname),