diff options
author | Reinette Chatre <reinette.chatre@intel.com> | 2010-02-19 01:03:04 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-02-19 15:52:49 -0500 |
commit | d2dfe6df755abb365aa3e2e67d88bda3cce5fd12 (patch) | |
tree | 5b24bd9cffb0ddfdd54554f2b5bace16c346ef99 /drivers/net/wireless/iwlwifi/iwl-tx.c | |
parent | 4a6547c748229ba0425713b4adeb0f2d4000da9e (diff) |
iwlwifi: enable serialization of synchronous commands
Until now it was only possible to have one synchronous command running at
any time. If a synchronous command is in progress when a second request
arrives then the second command will fail. Create a new mutex specific for
this purpose to only allow one synchronous command at a time, but enable
other commands to wait instead of fail if a synchronous command is in
progress.
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-tx.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-tx.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-tx.c b/drivers/net/wireless/iwlwifi/iwl-tx.c index d8c11f955e42..38655ad8f43c 100644 --- a/drivers/net/wireless/iwlwifi/iwl-tx.c +++ b/drivers/net/wireless/iwlwifi/iwl-tx.c | |||
@@ -1238,6 +1238,8 @@ void iwl_tx_cmd_complete(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb) | |||
1238 | 1238 | ||
1239 | if (!(meta->flags & CMD_ASYNC)) { | 1239 | if (!(meta->flags & CMD_ASYNC)) { |
1240 | clear_bit(STATUS_HCMD_ACTIVE, &priv->status); | 1240 | clear_bit(STATUS_HCMD_ACTIVE, &priv->status); |
1241 | IWL_DEBUG_INFO(priv, "Clearing HCMD_ACTIVE for command %s \n", | ||
1242 | get_cmd_string(cmd->hdr.cmd)); | ||
1241 | wake_up_interruptible(&priv->wait_command_queue); | 1243 | wake_up_interruptible(&priv->wait_command_queue); |
1242 | } | 1244 | } |
1243 | } | 1245 | } |