diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2013-02-11 17:56:01 +0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-02-12 19:07:14 +0400 |
commit | 5360cfb2bcbdd7a906cf290036bd406985973e88 (patch) | |
tree | b7b4220cfa4df37a368840899a11150ba836a7d5 /drivers/net/wireless/iwlwifi/mvm/power.c | |
parent | a3777e0fdd4abb2f04202580c236d64ecdaac6f2 (diff) | |
download | linux-5360cfb2bcbdd7a906cf290036bd406985973e88.tar.xz |
iwlwifi: mvm: use atomic interface iteration to avoid deadlock
Using the non-atomic version creates a dependency between
mac80211's iflist_mtx and mvm->mutex. Use the atomic version
instead which doesn't take iflist_mtx but can't sleep, so
send the HCMD in ASYNC.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/power.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/power.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/power.c b/drivers/net/wireless/iwlwifi/mvm/power.c index 63628739cf4a..5a92a4978795 100644 --- a/drivers/net/wireless/iwlwifi/mvm/power.c +++ b/drivers/net/wireless/iwlwifi/mvm/power.c @@ -194,7 +194,7 @@ int iwl_mvm_power_disable(struct iwl_mvm *mvm, struct ieee80211_vif *vif) cmd.id_and_color, iwlmvm_mod_params.power_scheme, le16_to_cpu(cmd.flags)); - return iwl_mvm_send_cmd_pdu(mvm, POWER_TABLE_CMD, CMD_SYNC, + return iwl_mvm_send_cmd_pdu(mvm, POWER_TABLE_CMD, CMD_ASYNC, sizeof(cmd), &cmd); } |