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

Commit 69a10b29 authored by Meenakshi Venkataraman's avatar Meenakshi Venkataraman Committed by John W. Linville
Browse files

iwlwifi: move wait_command_queue from shared to trans



This wait queue really belongs to the transport
layer, as it is used for sending synchronous
commands to the HW.

However, only op_mode knows about errors and
exceptional conditions, so make this queue
accessible by the op_mode.

Signed-off-by: default avatarMeenakshi Venkataraman <meenakshi.venkataraman@intel.com>
Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent f0d120af
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -671,7 +671,7 @@ static int iwlagn_rx_card_state_notif(struct iwl_priv *priv,
		wiphy_rfkill_set_hw_state(priv->hw->wiphy,
			test_bit(STATUS_RF_KILL_HW, &priv->status));
	else
		wake_up(&priv->shrd->wait_command_queue);
		wake_up(&trans(priv)->wait_command_queue);
	return 0;
}

+0 −2
Original line number Diff line number Diff line
@@ -962,8 +962,6 @@ static void iwl_setup_deferred_work(struct iwl_priv *priv)
{
	priv->workqueue = create_singlethread_workqueue(DRV_NAME);

	init_waitqueue_head(&priv->shrd->wait_command_queue);

	INIT_WORK(&priv->restart, iwl_bg_restart);
	INIT_WORK(&priv->beacon_update, iwl_bg_beacon_update);
	INIT_WORK(&priv->run_time_calib_work, iwl_bg_run_time_calib_work);
+1 −1
Original line number Diff line number Diff line
@@ -850,7 +850,7 @@ static void iwlagn_fw_error(struct iwl_priv *priv, bool ondemand)
	 * commands by clearing the ready bit */
	clear_bit(STATUS_READY, &priv->status);

	wake_up(&priv->shrd->wait_command_queue);
	wake_up(&trans(priv)->wait_command_queue);

	if (!ondemand) {
		/*
+0 −3
Original line number Diff line number Diff line
@@ -376,7 +376,6 @@ struct iwl_cfg {
 * @nic: pointer to the nic data
 * @hw_params: see struct iwl_hw_params
 * @lock: protect general shared data
 * @wait_command_queue: the wait_queue for SYNC host commands
 * @eeprom: pointer to the eeprom/OTP image
 * @ucode_type: indicator of loaded ucode image
 * @device_pointers: pointers to ucode event tables
@@ -391,8 +390,6 @@ struct iwl_shared {
	struct iwl_hw_params hw_params;
	const struct iwl_fw *fw;

	wait_queue_head_t wait_command_queue;

	/* eeprom -- this is in the card's little endian byte order */
	u8 *eeprom;

+1 −1
Original line number Diff line number Diff line
@@ -684,7 +684,7 @@ static void iwl_irq_handle_error(struct iwl_trans *trans)
		 */
		clear_bit(STATUS_READY, &trans->shrd->status);
		clear_bit(STATUS_HCMD_ACTIVE, &trans->shrd->status);
		wake_up(&trans->shrd->wait_command_queue);
		wake_up(&trans->wait_command_queue);
		IWL_ERR(trans, "RF is used by WiMAX\n");
		return;
	}
Loading