]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: mwifiex: Fix premature release of RF calibration data.
authorJeff Chen <jeff.chen_1@nxp.com>
Tue, 18 Mar 2025 05:07:38 +0000 (13:07 +0800)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 18 Mar 2025 09:27:34 +0000 (10:27 +0100)
This patch resolves an issue where RF calibration data was being
released before the download process. Without this fix, the
external calibration data file would not be downloaded
at all.

Fixes: d39fbc88956e ("mwifiex: remove cfg_data construction")
Signed-off-by: Jeff Chen <jeff.chen_1@nxp.com>
Link: https://patch.msgid.link/20250318050739.2239376-2-jeff.chen_1@nxp.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/marvell/mwifiex/main.c
drivers/net/wireless/marvell/mwifiex/sta_cmd.c

index 45eecb5f643b7cb965fc74b20c70608cfbb1bfaa..b07cb302a00c644da9881d3a049a1e0524ca10fb 100644 (file)
@@ -691,10 +691,6 @@ err_dnld_fw:
 
        init_failed = true;
 done:
-       if (adapter->cal_data) {
-               release_firmware(adapter->cal_data);
-               adapter->cal_data = NULL;
-       }
        if (adapter->firmware) {
                release_firmware(adapter->firmware);
                adapter->firmware = NULL;
index e2800a831c8edd1646c82f3ee63f11a277588710..c0e6ce1a82fed45e3626002d838c66c0e55aff91 100644 (file)
@@ -2293,9 +2293,13 @@ int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 first_sta, bool init)
                                                "marvell,caldata");
                }
 
-               if (adapter->cal_data)
+               if (adapter->cal_data) {
                        mwifiex_send_cmd(priv, HostCmd_CMD_CFG_DATA,
                                         HostCmd_ACT_GEN_SET, 0, NULL, true);
+                       release_firmware(adapter->cal_data);
+                       adapter->cal_data = NULL;
+               }
+
 
                /* Read MAC address from HW */
                ret = mwifiex_send_cmd(priv, HostCmd_CMD_GET_HW_SPEC,