Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d4b10483 authored by Johannes Berg's avatar Johannes Berg
Browse files

iwlwifi: use request_module instead of _nowait



Since request_module_nowait() can't be backported
use request_module() instead -- we don't need the
asynchronous behaviour of request_module_nowait()
here since we're running in the firmware request
work struct.

Tested-by: default avatarDonald H Fry <donald.h.fry@intel.com>
Reviewed-by: default avatarDonald H Fry <donald.h.fry@intel.com>
Reviewed-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 3c70d087
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -778,6 +778,7 @@ static void iwl_ucode_callback(const struct firmware *ucode_raw, void *context)
	const unsigned int api_min = drv->cfg->ucode_api_min;
	u32 api_ver;
	int i;
	bool load_module = false;

	fw->ucode_capa.max_probe_length = 200;
	fw->ucode_capa.standard_phy_calibration_size =
@@ -913,7 +914,7 @@ static void iwl_ucode_callback(const struct firmware *ucode_raw, void *context)
		if (!drv->op_mode)
			goto out_unbind;
	} else {
		request_module_nowait("%s", op->name);
		load_module = true;
	}
	mutex_unlock(&iwlwifi_opmode_table_mtx);

@@ -923,6 +924,14 @@ static void iwl_ucode_callback(const struct firmware *ucode_raw, void *context)
	 * are doing the start() above.
	 */
	complete(&drv->request_firmware_complete);

	/*
	 * Load the module last so we don't block anything
	 * else from proceeding if the module fails to load
	 * or hangs loading.
	 */
	if (load_module)
		request_module("%s", op->name);
	return;

 try_again: