diff options
author | 2025-04-23 09:16:38 +0300 | |
---|---|---|
committer | 2025-04-23 15:37:40 +0200 | |
commit | 092d41f13d23d9ee1730515cb15711e723e950bd (patch) | |
tree | fe6977c2c14e7c0cd1604a05581d3a741e5e1a97 | |
parent | wifi: iwlwifi: mld: properly handle async notification in op mode start (diff) | |
download | wireguard-linux-092d41f13d23d9ee1730515cb15711e723e950bd.tar.xz wireguard-linux-092d41f13d23d9ee1730515cb15711e723e950bd.zip |
wifi: iwlwifi: mld: inform trans on init failure
If starting the op mode failed, the opmode memory is being freed,
so trans->op_mode needs to be NULLified. Otherwise, trans will access
already freed memory.
Call iwl_trans_op_mode_leave in that case.
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Link: https://patch.msgid.link/20250423091408.c7e178748ef7.Ifaf15bdd8ef8c59e04effbd2e7aa0034b30eeacb@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to '')
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mld/mld.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mld/mld.c b/drivers/net/wireless/intel/iwlwifi/mld/mld.c index 562d320b2c3a..87624730fb50 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/mld.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/mld.c @@ -425,7 +425,7 @@ iwl_op_mode_mld_start(struct iwl_trans *trans, const struct iwl_cfg *cfg, if (ret) { wiphy_unlock(mld->wiphy); rtnl_unlock(); - goto free_hw; + goto err; } /* We are about to stop the FW. Notifications may require an @@ -471,7 +471,8 @@ leds_exit: iwl_mld_leds_exit(mld); free_nvm: kfree(mld->nvm_data); -free_hw: +err: + iwl_trans_op_mode_leave(mld->trans); ieee80211_free_hw(mld->hw); return ERR_PTR(ret); } |