]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Bluetooth: qca: simplify WCN399x NVM loading
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Fri, 7 Feb 2025 20:41:16 +0000 (22:41 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 Apr 2025 08:45:17 +0000 (10:45 +0200)
[ Upstream commit 1cc41b5092e3aa511454ec882c525af311bee631 ]

The WCN399x code has two separate cases for loading the NVM data. In
preparation to adding support for WCN3950, which also requires similar
quirk, split the "variant" to be specified explicitly and merge two
snprintfs into a single one.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/bluetooth/btqca.c

index 892e2540f008aec993a2f7ca946754c701f56fad..5651f40db1736eb5d34252c781f47711a444a96c 100644 (file)
@@ -807,6 +807,7 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
                   const char *firmware_name)
 {
        struct qca_fw_config config = {};
+       const char *variant = "";
        int err;
        u8 rom_ver = 0;
        u32 soc_ver;
@@ -901,13 +902,11 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
                case QCA_WCN3990:
                case QCA_WCN3991:
                case QCA_WCN3998:
-                       if (le32_to_cpu(ver.soc_id) == QCA_WCN3991_SOC_ID) {
-                               snprintf(config.fwname, sizeof(config.fwname),
-                                        "qca/crnv%02xu.bin", rom_ver);
-                       } else {
-                               snprintf(config.fwname, sizeof(config.fwname),
-                                        "qca/crnv%02x.bin", rom_ver);
-                       }
+                       if (le32_to_cpu(ver.soc_id) == QCA_WCN3991_SOC_ID)
+                               variant = "u";
+
+                       snprintf(config.fwname, sizeof(config.fwname),
+                                "qca/crnv%02x%s.bin", rom_ver, variant);
                        break;
                case QCA_WCN3988:
                        snprintf(config.fwname, sizeof(config.fwname),