aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-tx.c
diff options
context:
space:
mode:
authorReinette Chatre <reinette.chatre@intel.com>2010-02-19 01:03:04 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-02-19 15:52:49 -0500
commitd2dfe6df755abb365aa3e2e67d88bda3cce5fd12 (patch)
tree5b24bd9cffb0ddfdd54554f2b5bace16c346ef99 /drivers/net/wireless/iwlwifi/iwl-tx.c
parent4a6547c748229ba0425713b4adeb0f2d4000da9e (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.c2
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}