If iwl_mld_load_fw failed, we call iwl_mld_stop_fw which does, among the
others, iwl_trans_stop_device. But this is already called from
iwl_mld_load_fw's error path.
Since we do need the other stuff of iwl_mld_stop_fw to be done also in
the error path of iwl_mld_load_fw, just call it there.
This also makes the call to iwl_fw_flush_dumps in
iwl_mld_op_mope_start redundant, since it is the same as iwl_fw_dbg_stop_sync.
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Reviewed-by: Daniel Gabay <daniel.gabay@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Link: https://patch.msgid.link/20250423091408.f7d86be570d3.Ied68f0c4d126b3b0f1ffd9990bbc43d97f098e24@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
 
 
        return 0;
 err:
-       iwl_trans_stop_device(mld->trans);
+       iwl_mld_stop_fw(mld);
        return ret;
 }
 
        ret = iwl_mld_load_fw(mld);
        if (IWL_FW_CHECK(mld, ret, "Failed to start firmware %d\n", ret)) {
                iwl_fw_dbg_error_collect(&mld->fwrt, FW_DBG_TRIGGER_DRIVER);
-               goto error;
+               return ret;
        }
 
        IWL_DEBUG_INFO(mld, "uCode started.\n");
 
        if (ret) {
                wiphy_unlock(mld->wiphy);
                rtnl_unlock();
-               iwl_fw_flush_dumps(&mld->fwrt);
                goto free_hw;
        }