From: Miri Korenblit Date: Wed, 23 Apr 2025 06:16:38 +0000 (+0300) Subject: wifi: iwlwifi: mld: inform trans on init failure X-Git-Tag: v6.16-rc1~132^2~157^2~32 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=092d41f13d23d9ee1730515cb15711e723e950bd;p=thirdparty%2Fkernel%2Fstable.git 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 Reviewed-by: Emmanuel Grumbach Reviewed-by: Johannes Berg Link: https://patch.msgid.link/20250423091408.c7e178748ef7.Ifaf15bdd8ef8c59e04effbd2e7aa0034b30eeacb@changeid Signed-off-by: Johannes Berg --- diff --git a/drivers/net/wireless/intel/iwlwifi/mld/mld.c b/drivers/net/wireless/intel/iwlwifi/mld/mld.c index 562d320b2c3af..87624730fb506 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); }