aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2014-05-12 04:36:41 -0400
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>2014-05-13 06:52:19 -0400
commita10229271946731959b2269370d0492d88cfab23 (patch)
tree76bf534d72f70f03b373c8646039ebed3452652e
parent90c456fc795485cfcbede23a6598feeac7e6c284 (diff)
iwlwifi: remove CMD_SYNC
CMD_SYNC is really 0 which is confusing: if (cmd.flags & CMD_SYNC) is always false. Fix this by simply removing its definition. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
-rw-r--r--drivers/net/wireless/iwlwifi/dvm/calib.c1
-rw-r--r--drivers/net/wireless/iwlwifi/dvm/debugfs.c7
-rw-r--r--drivers/net/wireless/iwlwifi/dvm/devices.c2
-rw-r--r--drivers/net/wireless/iwlwifi/dvm/lib.c17
-rw-r--r--drivers/net/wireless/iwlwifi/dvm/main.c14
-rw-r--r--drivers/net/wireless/iwlwifi/dvm/power.c2
-rw-r--r--drivers/net/wireless/iwlwifi/dvm/rs.c2
-rw-r--r--drivers/net/wireless/iwlwifi/dvm/rxon.c16
-rw-r--r--drivers/net/wireless/iwlwifi/dvm/scan.c3
-rw-r--r--drivers/net/wireless/iwlwifi/dvm/sta.c25
-rw-r--r--drivers/net/wireless/iwlwifi/dvm/tt.c2
-rw-r--r--drivers/net/wireless/iwlwifi/dvm/ucode.c6
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-phy-db.c1
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-trans.h8
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/coex.c7
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/d3.c27
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/debugfs-vif.c4
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/debugfs.c6
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/fw.c4
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c4
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/mac80211.c20
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/nvm.c4
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/ops.c2
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/phy-ctxt.c2
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/power.c6
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/quota.c2
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/scan.c8
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/sta.c18
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/time-event.c4
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/tt.c1
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/tx.c2
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/utils.c4
32 files changed, 99 insertions, 132 deletions
diff --git a/drivers/net/wireless/iwlwifi/dvm/calib.c b/drivers/net/wireless/iwlwifi/dvm/calib.c
index be1086c87157..20e6aa910700 100644
--- a/drivers/net/wireless/iwlwifi/dvm/calib.c
+++ b/drivers/net/wireless/iwlwifi/dvm/calib.c
@@ -94,7 +94,6 @@ int iwl_send_calib_results(struct iwl_priv *priv)
94{ 94{
95 struct iwl_host_cmd hcmd = { 95 struct iwl_host_cmd hcmd = {
96 .id = REPLY_PHY_CALIBRATION_CMD, 96 .id = REPLY_PHY_CALIBRATION_CMD,
97 .flags = CMD_SYNC,
98 }; 97 };
99 struct iwl_calib_result *res; 98 struct iwl_calib_result *res;
100 99
diff --git a/drivers/net/wireless/iwlwifi/dvm/debugfs.c b/drivers/net/wireless/iwlwifi/dvm/debugfs.c
index d2fe2596d54e..0ffb6ff1a255 100644
--- a/drivers/net/wireless/iwlwifi/dvm/debugfs.c
+++ b/drivers/net/wireless/iwlwifi/dvm/debugfs.c
@@ -1481,7 +1481,7 @@ static ssize_t iwl_dbgfs_ucode_bt_stats_read(struct file *file,
1481 1481
1482 /* make request to uCode to retrieve statistics information */ 1482 /* make request to uCode to retrieve statistics information */
1483 mutex_lock(&priv->mutex); 1483 mutex_lock(&priv->mutex);
1484 ret = iwl_send_statistics_request(priv, CMD_SYNC, false); 1484 ret = iwl_send_statistics_request(priv, 0, false);
1485 mutex_unlock(&priv->mutex); 1485 mutex_unlock(&priv->mutex);
1486 1486
1487 if (ret) 1487 if (ret)
@@ -1868,7 +1868,7 @@ static ssize_t iwl_dbgfs_clear_ucode_statistics_write(struct file *file,
1868 1868
1869 /* make request to uCode to retrieve statistics information */ 1869 /* make request to uCode to retrieve statistics information */
1870 mutex_lock(&priv->mutex); 1870 mutex_lock(&priv->mutex);
1871 iwl_send_statistics_request(priv, CMD_SYNC, true); 1871 iwl_send_statistics_request(priv, 0, true);
1872 mutex_unlock(&priv->mutex); 1872 mutex_unlock(&priv->mutex);
1873 1873
1874 return count; 1874 return count;
@@ -2188,7 +2188,6 @@ static int iwl_cmd_echo_test(struct iwl_priv *priv)
2188 struct iwl_host_cmd cmd = { 2188 struct iwl_host_cmd cmd = {
2189 .id = REPLY_ECHO, 2189 .id = REPLY_ECHO,
2190 .len = { 0 }, 2190 .len = { 0 },
2191 .flags = CMD_SYNC,
2192 }; 2191 };
2193 2192
2194 ret = iwl_dvm_send_cmd(priv, &cmd); 2193 ret = iwl_dvm_send_cmd(priv, &cmd);
@@ -2320,7 +2319,7 @@ static ssize_t iwl_dbgfs_fw_restart_write(struct file *file,
2320 mutex_lock(&priv->mutex); 2319 mutex_lock(&priv->mutex);
2321 2320
2322 /* take the return value to make compiler happy - it will fail anyway */ 2321 /* take the return value to make compiler happy - it will fail anyway */
2323 ret = iwl_dvm_send_cmd_pdu(priv, REPLY_ERROR, CMD_SYNC, 0, NULL); 2322 ret = iwl_dvm_send_cmd_pdu(priv, REPLY_ERROR, 0, 0, NULL);
2324 2323
2325 mutex_unlock(&priv->mutex); 2324 mutex_unlock(&priv->mutex);
2326 2325
diff --git a/drivers/net/wireless/iwlwifi/dvm/devices.c b/drivers/net/wireless/iwlwifi/dvm/devices.c
index 758c54eeb206..34b41e5f7cfc 100644
--- a/drivers/net/wireless/iwlwifi/dvm/devices.c
+++ b/drivers/net/wireless/iwlwifi/dvm/devices.c
@@ -417,7 +417,6 @@ static int iwl5000_hw_channel_switch(struct iwl_priv *priv,
417 struct iwl_host_cmd hcmd = { 417 struct iwl_host_cmd hcmd = {
418 .id = REPLY_CHANNEL_SWITCH, 418 .id = REPLY_CHANNEL_SWITCH,
419 .len = { sizeof(cmd), }, 419 .len = { sizeof(cmd), },
420 .flags = CMD_SYNC,
421 .data = { &cmd, }, 420 .data = { &cmd, },
422 }; 421 };
423 422
@@ -579,7 +578,6 @@ static int iwl6000_hw_channel_switch(struct iwl_priv *priv,
579 struct iwl_host_cmd hcmd = { 578 struct iwl_host_cmd hcmd = {
580 .id = REPLY_CHANNEL_SWITCH, 579 .id = REPLY_CHANNEL_SWITCH,
581 .len = { sizeof(*cmd), }, 580 .len = { sizeof(*cmd), },
582 .flags = CMD_SYNC,
583 .dataflags[0] = IWL_HCMD_DFL_NOCOPY, 581 .dataflags[0] = IWL_HCMD_DFL_NOCOPY,
584 }; 582 };
585 int err; 583 int err;
diff --git a/drivers/net/wireless/iwlwifi/dvm/lib.c b/drivers/net/wireless/iwlwifi/dvm/lib.c
index d169228f59e7..2191621d69c1 100644
--- a/drivers/net/wireless/iwlwifi/dvm/lib.c
+++ b/drivers/net/wireless/iwlwifi/dvm/lib.c
@@ -81,7 +81,7 @@ int iwlagn_send_tx_power(struct iwl_priv *priv)
81 else 81 else
82 tx_ant_cfg_cmd = REPLY_TX_POWER_DBM_CMD; 82 tx_ant_cfg_cmd = REPLY_TX_POWER_DBM_CMD;
83 83
84 return iwl_dvm_send_cmd_pdu(priv, tx_ant_cfg_cmd, CMD_SYNC, 84 return iwl_dvm_send_cmd_pdu(priv, tx_ant_cfg_cmd, 0,
85 sizeof(tx_power_cmd), &tx_power_cmd); 85 sizeof(tx_power_cmd), &tx_power_cmd);
86} 86}
87 87
@@ -141,7 +141,6 @@ int iwlagn_txfifo_flush(struct iwl_priv *priv, u32 scd_q_msk)
141 struct iwl_host_cmd cmd = { 141 struct iwl_host_cmd cmd = {
142 .id = REPLY_TXFIFO_FLUSH, 142 .id = REPLY_TXFIFO_FLUSH,
143 .len = { sizeof(struct iwl_txfifo_flush_cmd), }, 143 .len = { sizeof(struct iwl_txfifo_flush_cmd), },
144 .flags = CMD_SYNC,
145 .data = { &flush_cmd, }, 144 .data = { &flush_cmd, },
146 }; 145 };
147 146
@@ -333,12 +332,12 @@ void iwlagn_send_advance_bt_config(struct iwl_priv *priv)
333 memcpy(&bt_cmd_v2.basic, &basic, 332 memcpy(&bt_cmd_v2.basic, &basic,
334 sizeof(basic)); 333 sizeof(basic));
335 ret = iwl_dvm_send_cmd_pdu(priv, REPLY_BT_CONFIG, 334 ret = iwl_dvm_send_cmd_pdu(priv, REPLY_BT_CONFIG,
336 CMD_SYNC, sizeof(bt_cmd_v2), &bt_cmd_v2); 335 0, sizeof(bt_cmd_v2), &bt_cmd_v2);
337 } else { 336 } else {
338 memcpy(&bt_cmd_v1.basic, &basic, 337 memcpy(&bt_cmd_v1.basic, &basic,
339 sizeof(basic)); 338 sizeof(basic));
340 ret = iwl_dvm_send_cmd_pdu(priv, REPLY_BT_CONFIG, 339 ret = iwl_dvm_send_cmd_pdu(priv, REPLY_BT_CONFIG,
341 CMD_SYNC, sizeof(bt_cmd_v1), &bt_cmd_v1); 340 0, sizeof(bt_cmd_v1), &bt_cmd_v1);
342 } 341 }
343 if (ret) 342 if (ret)
344 IWL_ERR(priv, "failed to send BT Coex Config\n"); 343 IWL_ERR(priv, "failed to send BT Coex Config\n");
@@ -1044,7 +1043,6 @@ int iwlagn_send_patterns(struct iwl_priv *priv,
1044 struct iwl_host_cmd cmd = { 1043 struct iwl_host_cmd cmd = {
1045 .id = REPLY_WOWLAN_PATTERNS, 1044 .id = REPLY_WOWLAN_PATTERNS,
1046 .dataflags[0] = IWL_HCMD_DFL_NOCOPY, 1045 .dataflags[0] = IWL_HCMD_DFL_NOCOPY,
1047 .flags = CMD_SYNC,
1048 }; 1046 };
1049 int i, err; 1047 int i, err;
1050 1048
@@ -1201,7 +1199,6 @@ int iwlagn_suspend(struct iwl_priv *priv, struct cfg80211_wowlan *wowlan)
1201 if (key_data.use_rsc_tsc) { 1199 if (key_data.use_rsc_tsc) {
1202 struct iwl_host_cmd rsc_tsc_cmd = { 1200 struct iwl_host_cmd rsc_tsc_cmd = {
1203 .id = REPLY_WOWLAN_TSC_RSC_PARAMS, 1201 .id = REPLY_WOWLAN_TSC_RSC_PARAMS,
1204 .flags = CMD_SYNC,
1205 .data[0] = key_data.rsc_tsc, 1202 .data[0] = key_data.rsc_tsc,
1206 .dataflags[0] = IWL_HCMD_DFL_NOCOPY, 1203 .dataflags[0] = IWL_HCMD_DFL_NOCOPY,
1207 .len[0] = sizeof(*key_data.rsc_tsc), 1204 .len[0] = sizeof(*key_data.rsc_tsc),
@@ -1215,7 +1212,7 @@ int iwlagn_suspend(struct iwl_priv *priv, struct cfg80211_wowlan *wowlan)
1215 if (key_data.use_tkip) { 1212 if (key_data.use_tkip) {
1216 ret = iwl_dvm_send_cmd_pdu(priv, 1213 ret = iwl_dvm_send_cmd_pdu(priv,
1217 REPLY_WOWLAN_TKIP_PARAMS, 1214 REPLY_WOWLAN_TKIP_PARAMS,
1218 CMD_SYNC, sizeof(tkip_cmd), 1215 0, sizeof(tkip_cmd),
1219 &tkip_cmd); 1216 &tkip_cmd);
1220 if (ret) 1217 if (ret)
1221 goto out; 1218 goto out;
@@ -1231,20 +1228,20 @@ int iwlagn_suspend(struct iwl_priv *priv, struct cfg80211_wowlan *wowlan)
1231 1228
1232 ret = iwl_dvm_send_cmd_pdu(priv, 1229 ret = iwl_dvm_send_cmd_pdu(priv,
1233 REPLY_WOWLAN_KEK_KCK_MATERIAL, 1230 REPLY_WOWLAN_KEK_KCK_MATERIAL,
1234 CMD_SYNC, sizeof(kek_kck_cmd), 1231 0, sizeof(kek_kck_cmd),
1235 &kek_kck_cmd); 1232 &kek_kck_cmd);
1236 if (ret) 1233 if (ret)
1237 goto out; 1234 goto out;
1238 } 1235 }
1239 } 1236 }
1240 1237
1241 ret = iwl_dvm_send_cmd_pdu(priv, REPLY_D3_CONFIG, CMD_SYNC, 1238 ret = iwl_dvm_send_cmd_pdu(priv, REPLY_D3_CONFIG, 0,
1242 sizeof(d3_cfg_cmd), &d3_cfg_cmd); 1239 sizeof(d3_cfg_cmd), &d3_cfg_cmd);
1243 if (ret) 1240 if (ret)
1244 goto out; 1241 goto out;
1245 1242
1246 ret = iwl_dvm_send_cmd_pdu(priv, REPLY_WOWLAN_WAKEUP_FILTER, 1243 ret = iwl_dvm_send_cmd_pdu(priv, REPLY_WOWLAN_WAKEUP_FILTER,
1247 CMD_SYNC, sizeof(wakeup_filter_cmd), 1244 0, sizeof(wakeup_filter_cmd),
1248 &wakeup_filter_cmd); 1245 &wakeup_filter_cmd);
1249 if (ret) 1246 if (ret)
1250 goto out; 1247 goto out;
diff --git a/drivers/net/wireless/iwlwifi/dvm/main.c b/drivers/net/wireless/iwlwifi/dvm/main.c
index 7bfd7414c2ea..0b7f46f0b079 100644
--- a/drivers/net/wireless/iwlwifi/dvm/main.c
+++ b/drivers/net/wireless/iwlwifi/dvm/main.c
@@ -128,7 +128,6 @@ int iwlagn_send_beacon_cmd(struct iwl_priv *priv)
128 struct iwl_tx_beacon_cmd *tx_beacon_cmd; 128 struct iwl_tx_beacon_cmd *tx_beacon_cmd;
129 struct iwl_host_cmd cmd = { 129 struct iwl_host_cmd cmd = {
130 .id = REPLY_TX_BEACON, 130 .id = REPLY_TX_BEACON,
131 .flags = CMD_SYNC,
132 }; 131 };
133 struct ieee80211_tx_info *info; 132 struct ieee80211_tx_info *info;
134 u32 frame_size; 133 u32 frame_size;
@@ -311,8 +310,7 @@ int iwl_send_statistics_request(struct iwl_priv *priv, u8 flags, bool clear)
311 sizeof(struct iwl_statistics_cmd), 310 sizeof(struct iwl_statistics_cmd),
312 &statistics_cmd); 311 &statistics_cmd);
313 else 312 else
314 return iwl_dvm_send_cmd_pdu(priv, REPLY_STATISTICS_CMD, 313 return iwl_dvm_send_cmd_pdu(priv, REPLY_STATISTICS_CMD, 0,
315 CMD_SYNC,
316 sizeof(struct iwl_statistics_cmd), 314 sizeof(struct iwl_statistics_cmd),
317 &statistics_cmd); 315 &statistics_cmd);
318} 316}
@@ -622,7 +620,7 @@ static void iwl_rf_kill_ct_config(struct iwl_priv *priv)
622 620
623 ret = iwl_dvm_send_cmd_pdu(priv, 621 ret = iwl_dvm_send_cmd_pdu(priv,
624 REPLY_CT_KILL_CONFIG_CMD, 622 REPLY_CT_KILL_CONFIG_CMD,
625 CMD_SYNC, sizeof(adv_cmd), &adv_cmd); 623 0, sizeof(adv_cmd), &adv_cmd);
626 if (ret) 624 if (ret)
627 IWL_ERR(priv, "REPLY_CT_KILL_CONFIG_CMD failed\n"); 625 IWL_ERR(priv, "REPLY_CT_KILL_CONFIG_CMD failed\n");
628 else 626 else
@@ -637,7 +635,7 @@ static void iwl_rf_kill_ct_config(struct iwl_priv *priv)
637 635
638 ret = iwl_dvm_send_cmd_pdu(priv, 636 ret = iwl_dvm_send_cmd_pdu(priv,
639 REPLY_CT_KILL_CONFIG_CMD, 637 REPLY_CT_KILL_CONFIG_CMD,
640 CMD_SYNC, sizeof(cmd), &cmd); 638 0, sizeof(cmd), &cmd);
641 if (ret) 639 if (ret)
642 IWL_ERR(priv, "REPLY_CT_KILL_CONFIG_CMD failed\n"); 640 IWL_ERR(priv, "REPLY_CT_KILL_CONFIG_CMD failed\n");
643 else 641 else
@@ -673,9 +671,7 @@ static int iwlagn_send_tx_ant_config(struct iwl_priv *priv, u8 valid_tx_ant)
673 671
674 if (IWL_UCODE_API(priv->fw->ucode_ver) > 1) { 672 if (IWL_UCODE_API(priv->fw->ucode_ver) > 1) {
675 IWL_DEBUG_HC(priv, "select valid tx ant: %u\n", valid_tx_ant); 673 IWL_DEBUG_HC(priv, "select valid tx ant: %u\n", valid_tx_ant);
676 return iwl_dvm_send_cmd_pdu(priv, 674 return iwl_dvm_send_cmd_pdu(priv, TX_ANT_CONFIGURATION_CMD, 0,
677 TX_ANT_CONFIGURATION_CMD,
678 CMD_SYNC,
679 sizeof(struct iwl_tx_ant_config_cmd), 675 sizeof(struct iwl_tx_ant_config_cmd),
680 &tx_ant_cmd); 676 &tx_ant_cmd);
681 } else { 677 } else {
@@ -703,7 +699,7 @@ static void iwl_send_bt_config(struct iwl_priv *priv)
703 (bt_cmd.flags == BT_COEX_DISABLE) ? "disable" : "active"); 699 (bt_cmd.flags == BT_COEX_DISABLE) ? "disable" : "active");
704 700
705 if (iwl_dvm_send_cmd_pdu(priv, REPLY_BT_CONFIG, 701 if (iwl_dvm_send_cmd_pdu(priv, REPLY_BT_CONFIG,
706 CMD_SYNC, sizeof(struct iwl_bt_cmd), &bt_cmd)) 702 0, sizeof(struct iwl_bt_cmd), &bt_cmd))
707 IWL_ERR(priv, "failed to send BT Coex Config\n"); 703 IWL_ERR(priv, "failed to send BT Coex Config\n");
708} 704}
709 705
diff --git a/drivers/net/wireless/iwlwifi/dvm/power.c b/drivers/net/wireless/iwlwifi/dvm/power.c
index 6ad7cb62ab2e..f2c1439566b5 100644
--- a/drivers/net/wireless/iwlwifi/dvm/power.c
+++ b/drivers/net/wireless/iwlwifi/dvm/power.c
@@ -278,7 +278,7 @@ static int iwl_set_power(struct iwl_priv *priv, struct iwl_powertable_cmd *cmd)
278 le32_to_cpu(cmd->sleep_interval[3]), 278 le32_to_cpu(cmd->sleep_interval[3]),
279 le32_to_cpu(cmd->sleep_interval[4])); 279 le32_to_cpu(cmd->sleep_interval[4]));
280 280
281 return iwl_dvm_send_cmd_pdu(priv, POWER_TABLE_CMD, CMD_SYNC, 281 return iwl_dvm_send_cmd_pdu(priv, POWER_TABLE_CMD, 0,
282 sizeof(struct iwl_powertable_cmd), cmd); 282 sizeof(struct iwl_powertable_cmd), cmd);
283} 283}
284 284
diff --git a/drivers/net/wireless/iwlwifi/dvm/rs.c b/drivers/net/wireless/iwlwifi/dvm/rs.c
index 6fba0376a055..32b78a66536d 100644
--- a/drivers/net/wireless/iwlwifi/dvm/rs.c
+++ b/drivers/net/wireless/iwlwifi/dvm/rs.c
@@ -2709,7 +2709,7 @@ static void rs_initialize_lq(struct iwl_priv *priv,
2709 rs_set_expected_tpt_table(lq_sta, tbl); 2709 rs_set_expected_tpt_table(lq_sta, tbl);
2710 rs_fill_link_cmd(NULL, lq_sta, rate); 2710 rs_fill_link_cmd(NULL, lq_sta, rate);
2711 priv->stations[lq_sta->lq.sta_id].lq = &lq_sta->lq; 2711 priv->stations[lq_sta->lq.sta_id].lq = &lq_sta->lq;
2712 iwl_send_lq_cmd(priv, ctx, &lq_sta->lq, CMD_SYNC, true); 2712 iwl_send_lq_cmd(priv, ctx, &lq_sta->lq, 0, true);
2713} 2713}
2714 2714
2715static void rs_get_rate(void *priv_r, struct ieee80211_sta *sta, void *priv_sta, 2715static void rs_get_rate(void *priv_r, struct ieee80211_sta *sta, void *priv_sta,
diff --git a/drivers/net/wireless/iwlwifi/dvm/rxon.c b/drivers/net/wireless/iwlwifi/dvm/rxon.c
index 623814d0d2da..ed50de6362ed 100644
--- a/drivers/net/wireless/iwlwifi/dvm/rxon.c
+++ b/drivers/net/wireless/iwlwifi/dvm/rxon.c
@@ -104,7 +104,7 @@ static int iwlagn_disable_bss(struct iwl_priv *priv,
104 104
105 send->filter_flags &= ~RXON_FILTER_ASSOC_MSK; 105 send->filter_flags &= ~RXON_FILTER_ASSOC_MSK;
106 ret = iwl_dvm_send_cmd_pdu(priv, ctx->rxon_cmd, 106 ret = iwl_dvm_send_cmd_pdu(priv, ctx->rxon_cmd,
107 CMD_SYNC, sizeof(*send), send); 107 0, sizeof(*send), send);
108 108
109 send->filter_flags = old_filter; 109 send->filter_flags = old_filter;
110 110
@@ -134,7 +134,7 @@ static int iwlagn_disable_pan(struct iwl_priv *priv,
134 send->filter_flags &= ~RXON_FILTER_ASSOC_MSK; 134 send->filter_flags &= ~RXON_FILTER_ASSOC_MSK;
135 send->dev_type = RXON_DEV_TYPE_P2P; 135 send->dev_type = RXON_DEV_TYPE_P2P;
136 ret = iwl_dvm_send_cmd_pdu(priv, ctx->rxon_cmd, 136 ret = iwl_dvm_send_cmd_pdu(priv, ctx->rxon_cmd,
137 CMD_SYNC, sizeof(*send), send); 137 0, sizeof(*send), send);
138 138
139 send->filter_flags = old_filter; 139 send->filter_flags = old_filter;
140 send->dev_type = old_dev_type; 140 send->dev_type = old_dev_type;
@@ -160,7 +160,7 @@ static int iwlagn_disconn_pan(struct iwl_priv *priv,
160 int ret; 160 int ret;
161 161
162 send->filter_flags &= ~RXON_FILTER_ASSOC_MSK; 162 send->filter_flags &= ~RXON_FILTER_ASSOC_MSK;
163 ret = iwl_dvm_send_cmd_pdu(priv, ctx->rxon_cmd, CMD_SYNC, 163 ret = iwl_dvm_send_cmd_pdu(priv, ctx->rxon_cmd, 0,
164 sizeof(*send), send); 164 sizeof(*send), send);
165 165
166 send->filter_flags = old_filter; 166 send->filter_flags = old_filter;
@@ -189,7 +189,7 @@ static void iwlagn_update_qos(struct iwl_priv *priv,
189 ctx->qos_data.qos_active, 189 ctx->qos_data.qos_active,
190 ctx->qos_data.def_qos_parm.qos_flags); 190 ctx->qos_data.def_qos_parm.qos_flags);
191 191
192 ret = iwl_dvm_send_cmd_pdu(priv, ctx->qos_cmd, CMD_SYNC, 192 ret = iwl_dvm_send_cmd_pdu(priv, ctx->qos_cmd, 0,
193 sizeof(struct iwl_qosparam_cmd), 193 sizeof(struct iwl_qosparam_cmd),
194 &ctx->qos_data.def_qos_parm); 194 &ctx->qos_data.def_qos_parm);
195 if (ret) 195 if (ret)
@@ -353,7 +353,7 @@ static int iwl_send_rxon_timing(struct iwl_priv *priv,
353 le16_to_cpu(ctx->timing.atim_window)); 353 le16_to_cpu(ctx->timing.atim_window));
354 354
355 return iwl_dvm_send_cmd_pdu(priv, ctx->rxon_timing_cmd, 355 return iwl_dvm_send_cmd_pdu(priv, ctx->rxon_timing_cmd,
356 CMD_SYNC, sizeof(ctx->timing), &ctx->timing); 356 0, sizeof(ctx->timing), &ctx->timing);
357} 357}
358 358
359static int iwlagn_rxon_disconn(struct iwl_priv *priv, 359static int iwlagn_rxon_disconn(struct iwl_priv *priv,
@@ -495,7 +495,7 @@ static int iwlagn_rxon_connect(struct iwl_priv *priv,
495 * Associated RXON doesn't clear the station table in uCode, 495 * Associated RXON doesn't clear the station table in uCode,
496 * so we don't need to restore stations etc. after this. 496 * so we don't need to restore stations etc. after this.
497 */ 497 */
498 ret = iwl_dvm_send_cmd_pdu(priv, ctx->rxon_cmd, CMD_SYNC, 498 ret = iwl_dvm_send_cmd_pdu(priv, ctx->rxon_cmd, 0,
499 sizeof(struct iwl_rxon_cmd), &ctx->staging); 499 sizeof(struct iwl_rxon_cmd), &ctx->staging);
500 if (ret) { 500 if (ret) {
501 IWL_ERR(priv, "Error setting new RXON (%d)\n", ret); 501 IWL_ERR(priv, "Error setting new RXON (%d)\n", ret);
@@ -610,7 +610,7 @@ int iwlagn_set_pan_params(struct iwl_priv *priv)
610 cmd.slots[0].width = cpu_to_le16(slot0); 610 cmd.slots[0].width = cpu_to_le16(slot0);
611 cmd.slots[1].width = cpu_to_le16(slot1); 611 cmd.slots[1].width = cpu_to_le16(slot1);
612 612
613 ret = iwl_dvm_send_cmd_pdu(priv, REPLY_WIPAN_PARAMS, CMD_SYNC, 613 ret = iwl_dvm_send_cmd_pdu(priv, REPLY_WIPAN_PARAMS, 0,
614 sizeof(cmd), &cmd); 614 sizeof(cmd), &cmd);
615 if (ret) 615 if (ret)
616 IWL_ERR(priv, "Error setting PAN parameters (%d)\n", ret); 616 IWL_ERR(priv, "Error setting PAN parameters (%d)\n", ret);
@@ -1395,7 +1395,7 @@ static void iwlagn_chain_noise_reset(struct iwl_priv *priv)
1395 priv->phy_calib_chain_noise_reset_cmd); 1395 priv->phy_calib_chain_noise_reset_cmd);
1396 ret = iwl_dvm_send_cmd_pdu(priv, 1396 ret = iwl_dvm_send_cmd_pdu(priv,
1397 REPLY_PHY_CALIBRATION_CMD, 1397 REPLY_PHY_CALIBRATION_CMD,
1398 CMD_SYNC, sizeof(cmd), &cmd); 1398 0, sizeof(cmd), &cmd);
1399 if (ret) 1399 if (ret)
1400 IWL_ERR(priv, 1400 IWL_ERR(priv,
1401 "Could not send REPLY_PHY_CALIBRATION_CMD\n"); 1401 "Could not send REPLY_PHY_CALIBRATION_CMD\n");
diff --git a/drivers/net/wireless/iwlwifi/dvm/scan.c b/drivers/net/wireless/iwlwifi/dvm/scan.c
index be98b913ed58..43bef901e8f9 100644
--- a/drivers/net/wireless/iwlwifi/dvm/scan.c
+++ b/drivers/net/wireless/iwlwifi/dvm/scan.c
@@ -59,7 +59,7 @@ static int iwl_send_scan_abort(struct iwl_priv *priv)
59 int ret; 59 int ret;
60 struct iwl_host_cmd cmd = { 60 struct iwl_host_cmd cmd = {
61 .id = REPLY_SCAN_ABORT_CMD, 61 .id = REPLY_SCAN_ABORT_CMD,
62 .flags = CMD_SYNC | CMD_WANT_SKB, 62 .flags = CMD_WANT_SKB,
63 }; 63 };
64 __le32 *status; 64 __le32 *status;
65 65
@@ -639,7 +639,6 @@ static int iwlagn_request_scan(struct iwl_priv *priv, struct ieee80211_vif *vif)
639 struct iwl_host_cmd cmd = { 639 struct iwl_host_cmd cmd = {
640 .id = REPLY_SCAN_CMD, 640 .id = REPLY_SCAN_CMD,
641 .len = { sizeof(struct iwl_scan_cmd), }, 641 .len = { sizeof(struct iwl_scan_cmd), },
642 .flags = CMD_SYNC,
643 }; 642 };
644 struct iwl_scan_cmd *scan; 643 struct iwl_scan_cmd *scan;
645 struct iwl_rxon_context *ctx = &priv->contexts[IWL_RXON_CTX_BSS]; 644 struct iwl_rxon_context *ctx = &priv->contexts[IWL_RXON_CTX_BSS];
diff --git a/drivers/net/wireless/iwlwifi/dvm/sta.c b/drivers/net/wireless/iwlwifi/dvm/sta.c
index 2763b9cef4c8..6ec86adbe4a1 100644
--- a/drivers/net/wireless/iwlwifi/dvm/sta.c
+++ b/drivers/net/wireless/iwlwifi/dvm/sta.c
@@ -261,7 +261,7 @@ int iwl_sta_update_ht(struct iwl_priv *priv, struct iwl_rxon_context *ctx,
261 cmd.station_flags = flags; 261 cmd.station_flags = flags;
262 cmd.sta.sta_id = sta_id; 262 cmd.sta.sta_id = sta_id;
263 263
264 return iwl_send_add_sta(priv, &cmd, CMD_SYNC); 264 return iwl_send_add_sta(priv, &cmd, 0);
265} 265}
266 266
267static void iwl_set_ht_add_station(struct iwl_priv *priv, u8 index, 267static void iwl_set_ht_add_station(struct iwl_priv *priv, u8 index,
@@ -413,7 +413,7 @@ int iwl_add_station_common(struct iwl_priv *priv, struct iwl_rxon_context *ctx,
413 spin_unlock_bh(&priv->sta_lock); 413 spin_unlock_bh(&priv->sta_lock);
414 414
415 /* Add station to device's station table */ 415 /* Add station to device's station table */
416 ret = iwl_send_add_sta(priv, &sta_cmd, CMD_SYNC); 416 ret = iwl_send_add_sta(priv, &sta_cmd, 0);
417 if (ret) { 417 if (ret) {
418 spin_lock_bh(&priv->sta_lock); 418 spin_lock_bh(&priv->sta_lock);
419 IWL_ERR(priv, "Adding station %pM failed.\n", 419 IWL_ERR(priv, "Adding station %pM failed.\n",
@@ -456,7 +456,6 @@ static int iwl_send_remove_station(struct iwl_priv *priv,
456 struct iwl_host_cmd cmd = { 456 struct iwl_host_cmd cmd = {
457 .id = REPLY_REMOVE_STA, 457 .id = REPLY_REMOVE_STA,
458 .len = { sizeof(struct iwl_rem_sta_cmd), }, 458 .len = { sizeof(struct iwl_rem_sta_cmd), },
459 .flags = CMD_SYNC,
460 .data = { &rm_sta_cmd, }, 459 .data = { &rm_sta_cmd, },
461 }; 460 };
462 461
@@ -740,7 +739,7 @@ void iwl_restore_stations(struct iwl_priv *priv, struct iwl_rxon_context *ctx)
740 send_lq = true; 739 send_lq = true;
741 } 740 }
742 spin_unlock_bh(&priv->sta_lock); 741 spin_unlock_bh(&priv->sta_lock);
743 ret = iwl_send_add_sta(priv, &sta_cmd, CMD_SYNC); 742 ret = iwl_send_add_sta(priv, &sta_cmd, 0);
744 if (ret) { 743 if (ret) {
745 spin_lock_bh(&priv->sta_lock); 744 spin_lock_bh(&priv->sta_lock);
746 IWL_ERR(priv, "Adding station %pM failed.\n", 745 IWL_ERR(priv, "Adding station %pM failed.\n",
@@ -756,8 +755,7 @@ void iwl_restore_stations(struct iwl_priv *priv, struct iwl_rxon_context *ctx)
756 * current LQ command 755 * current LQ command
757 */ 756 */
758 if (send_lq) 757 if (send_lq)
759 iwl_send_lq_cmd(priv, ctx, &lq, 758 iwl_send_lq_cmd(priv, ctx, &lq, 0, true);
760 CMD_SYNC, true);
761 spin_lock_bh(&priv->sta_lock); 759 spin_lock_bh(&priv->sta_lock);
762 priv->stations[i].used &= ~IWL_STA_UCODE_INPROGRESS; 760 priv->stations[i].used &= ~IWL_STA_UCODE_INPROGRESS;
763 } 761 }
@@ -968,7 +966,7 @@ int iwlagn_add_bssid_station(struct iwl_priv *priv,
968 return -ENOMEM; 966 return -ENOMEM;
969 } 967 }
970 968
971 ret = iwl_send_lq_cmd(priv, ctx, link_cmd, CMD_SYNC, true); 969 ret = iwl_send_lq_cmd(priv, ctx, link_cmd, 0, true);
972 if (ret) 970 if (ret)
973 IWL_ERR(priv, "Link quality command failed (%d)\n", ret); 971 IWL_ERR(priv, "Link quality command failed (%d)\n", ret);
974 972
@@ -999,7 +997,6 @@ static int iwl_send_static_wepkey_cmd(struct iwl_priv *priv,
999 struct iwl_host_cmd cmd = { 997 struct iwl_host_cmd cmd = {
1000 .id = ctx->wep_key_cmd, 998 .id = ctx->wep_key_cmd,
1001 .data = { wep_cmd, }, 999 .data = { wep_cmd, },
1002 .flags = CMD_SYNC,
1003 }; 1000 };
1004 1001
1005 might_sleep(); 1002 might_sleep();
@@ -1248,7 +1245,7 @@ int iwl_remove_dynamic_key(struct iwl_priv *priv,
1248 sta_cmd.sta.modify_mask = STA_MODIFY_KEY_MASK; 1245 sta_cmd.sta.modify_mask = STA_MODIFY_KEY_MASK;
1249 sta_cmd.mode = STA_CONTROL_MODIFY_MSK; 1246 sta_cmd.mode = STA_CONTROL_MODIFY_MSK;
1250 1247
1251 return iwl_send_add_sta(priv, &sta_cmd, CMD_SYNC); 1248 return iwl_send_add_sta(priv, &sta_cmd, 0);
1252} 1249}
1253 1250
1254int iwl_set_dynamic_key(struct iwl_priv *priv, 1251int iwl_set_dynamic_key(struct iwl_priv *priv,
@@ -1284,13 +1281,13 @@ int iwl_set_dynamic_key(struct iwl_priv *priv,
1284 ieee80211_get_key_rx_seq(keyconf, 0, &seq); 1281 ieee80211_get_key_rx_seq(keyconf, 0, &seq);
1285 ieee80211_get_tkip_rx_p1k(keyconf, addr, seq.tkip.iv32, p1k); 1282 ieee80211_get_tkip_rx_p1k(keyconf, addr, seq.tkip.iv32, p1k);
1286 ret = iwlagn_send_sta_key(priv, keyconf, sta_id, 1283 ret = iwlagn_send_sta_key(priv, keyconf, sta_id,
1287 seq.tkip.iv32, p1k, CMD_SYNC); 1284 seq.tkip.iv32, p1k, 0);
1288 break; 1285 break;
1289 case WLAN_CIPHER_SUITE_CCMP: 1286 case WLAN_CIPHER_SUITE_CCMP:
1290 case WLAN_CIPHER_SUITE_WEP40: 1287 case WLAN_CIPHER_SUITE_WEP40:
1291 case WLAN_CIPHER_SUITE_WEP104: 1288 case WLAN_CIPHER_SUITE_WEP104:
1292 ret = iwlagn_send_sta_key(priv, keyconf, sta_id, 1289 ret = iwlagn_send_sta_key(priv, keyconf, sta_id,
1293 0, NULL, CMD_SYNC); 1290 0, NULL, 0);
1294 break; 1291 break;
1295 default: 1292 default:
1296 IWL_ERR(priv, "Unknown cipher %x\n", keyconf->cipher); 1293 IWL_ERR(priv, "Unknown cipher %x\n", keyconf->cipher);
@@ -1409,7 +1406,7 @@ int iwl_sta_tx_modify_enable_tid(struct iwl_priv *priv, int sta_id, int tid)
1409 memcpy(&sta_cmd, &priv->stations[sta_id].sta, sizeof(struct iwl_addsta_cmd)); 1406 memcpy(&sta_cmd, &priv->stations[sta_id].sta, sizeof(struct iwl_addsta_cmd));
1410 spin_unlock_bh(&priv->sta_lock); 1407 spin_unlock_bh(&priv->sta_lock);
1411 1408
1412 return iwl_send_add_sta(priv, &sta_cmd, CMD_SYNC); 1409 return iwl_send_add_sta(priv, &sta_cmd, 0);
1413} 1410}
1414 1411
1415int iwl_sta_rx_agg_start(struct iwl_priv *priv, struct ieee80211_sta *sta, 1412int iwl_sta_rx_agg_start(struct iwl_priv *priv, struct ieee80211_sta *sta,
@@ -1433,7 +1430,7 @@ int iwl_sta_rx_agg_start(struct iwl_priv *priv, struct ieee80211_sta *sta,
1433 memcpy(&sta_cmd, &priv->stations[sta_id].sta, sizeof(struct iwl_addsta_cmd)); 1430 memcpy(&sta_cmd, &priv->stations[sta_id].sta, sizeof(struct iwl_addsta_cmd));
1434 spin_unlock_bh(&priv->sta_lock); 1431 spin_unlock_bh(&priv->sta_lock);
1435 1432
1436 return iwl_send_add_sta(priv, &sta_cmd, CMD_SYNC); 1433 return iwl_send_add_sta(priv, &sta_cmd, 0);
1437} 1434}
1438 1435
1439int iwl_sta_rx_agg_stop(struct iwl_priv *priv, struct ieee80211_sta *sta, 1436int iwl_sta_rx_agg_stop(struct iwl_priv *priv, struct ieee80211_sta *sta,
@@ -1458,7 +1455,7 @@ int iwl_sta_rx_agg_stop(struct iwl_priv *priv, struct ieee80211_sta *sta,
1458 memcpy(&sta_cmd, &priv->stations[sta_id].sta, sizeof(struct iwl_addsta_cmd)); 1455 memcpy(&sta_cmd, &priv->stations[sta_id].sta, sizeof(struct iwl_addsta_cmd));
1459 spin_unlock_bh(&priv->sta_lock); 1456 spin_unlock_bh(&priv->sta_lock);
1460 1457
1461 return iwl_send_add_sta(priv, &sta_cmd, CMD_SYNC); 1458 return iwl_send_add_sta(priv, &sta_cmd, 0);
1462} 1459}
1463 1460
1464 1461
diff --git a/drivers/net/wireless/iwlwifi/dvm/tt.c b/drivers/net/wireless/iwlwifi/dvm/tt.c
index 058c5892c427..acb981a0a0aa 100644
--- a/drivers/net/wireless/iwlwifi/dvm/tt.c
+++ b/drivers/net/wireless/iwlwifi/dvm/tt.c
@@ -236,7 +236,7 @@ static void iwl_prepare_ct_kill_task(struct iwl_priv *priv)
236{ 236{
237 IWL_DEBUG_TEMP(priv, "Prepare to enter IWL_TI_CT_KILL\n"); 237 IWL_DEBUG_TEMP(priv, "Prepare to enter IWL_TI_CT_KILL\n");
238 /* make request to retrieve statistics information */ 238 /* make request to retrieve statistics information */
239 iwl_send_statistics_request(priv, CMD_SYNC, false); 239 iwl_send_statistics_request(priv, 0, false);
240 /* Reschedule the ct_kill wait timer */ 240 /* Reschedule the ct_kill wait timer */
241 mod_timer(&priv->thermal_throttle.ct_kill_waiting_tm, 241 mod_timer(&priv->thermal_throttle.ct_kill_waiting_tm,
242 jiffies + msecs_to_jiffies(CT_KILL_WAITING_DURATION)); 242 jiffies + msecs_to_jiffies(CT_KILL_WAITING_DURATION));
diff --git a/drivers/net/wireless/iwlwifi/dvm/ucode.c b/drivers/net/wireless/iwlwifi/dvm/ucode.c
index cf03ef5619d9..d5cee1530597 100644
--- a/drivers/net/wireless/iwlwifi/dvm/ucode.c
+++ b/drivers/net/wireless/iwlwifi/dvm/ucode.c
@@ -172,7 +172,7 @@ static int iwl_send_wimax_coex(struct iwl_priv *priv)
172 memset(&coex_cmd, 0, sizeof(coex_cmd)); 172 memset(&coex_cmd, 0, sizeof(coex_cmd));
173 173
174 return iwl_dvm_send_cmd_pdu(priv, 174 return iwl_dvm_send_cmd_pdu(priv,
175 COEX_PRIORITY_TABLE_CMD, CMD_SYNC, 175 COEX_PRIORITY_TABLE_CMD, 0,
176 sizeof(coex_cmd), &coex_cmd); 176 sizeof(coex_cmd), &coex_cmd);
177} 177}
178 178
@@ -205,7 +205,7 @@ void iwl_send_prio_tbl(struct iwl_priv *priv)
205 memcpy(prio_tbl_cmd.prio_tbl, iwl_bt_prio_tbl, 205 memcpy(prio_tbl_cmd.prio_tbl, iwl_bt_prio_tbl,
206 sizeof(iwl_bt_prio_tbl)); 206 sizeof(iwl_bt_prio_tbl));
207 if (iwl_dvm_send_cmd_pdu(priv, 207 if (iwl_dvm_send_cmd_pdu(priv,
208 REPLY_BT_COEX_PRIO_TABLE, CMD_SYNC, 208 REPLY_BT_COEX_PRIO_TABLE, 0,
209 sizeof(prio_tbl_cmd), &prio_tbl_cmd)) 209 sizeof(prio_tbl_cmd), &prio_tbl_cmd))
210 IWL_ERR(priv, "failed to send BT prio tbl command\n"); 210 IWL_ERR(priv, "failed to send BT prio tbl command\n");
211} 211}
@@ -218,7 +218,7 @@ int iwl_send_bt_env(struct iwl_priv *priv, u8 action, u8 type)
218 env_cmd.action = action; 218 env_cmd.action = action;
219 env_cmd.type = type; 219 env_cmd.type = type;
220 ret = iwl_dvm_send_cmd_pdu(priv, 220 ret = iwl_dvm_send_cmd_pdu(priv,
221 REPLY_BT_COEX_PROT_ENV, CMD_SYNC, 221 REPLY_BT_COEX_PROT_ENV, 0,
222 sizeof(env_cmd), &env_cmd); 222 sizeof(env_cmd), &env_cmd);
223 if (ret) 223 if (ret)
224 IWL_ERR(priv, "failed to send BT env command\n"); 224 IWL_ERR(priv, "failed to send BT env command\n");
diff --git a/drivers/net/wireless/iwlwifi/iwl-phy-db.c b/drivers/net/wireless/iwlwifi/iwl-phy-db.c
index 7f7a559787e5..d4fb5cad07ea 100644
--- a/drivers/net/wireless/iwlwifi/iwl-phy-db.c
+++ b/drivers/net/wireless/iwlwifi/iwl-phy-db.c
@@ -345,7 +345,6 @@ static int iwl_send_phy_db_cmd(struct iwl_phy_db *phy_db, u16 type,
345 struct iwl_phy_db_cmd phy_db_cmd; 345 struct iwl_phy_db_cmd phy_db_cmd;
346 struct iwl_host_cmd cmd = { 346 struct iwl_host_cmd cmd = {
347 .id = PHY_DB_CMD, 347 .id = PHY_DB_CMD,
348 .flags = CMD_SYNC,
349 }; 348 };
350 349
351 IWL_DEBUG_INFO(phy_db->trans, 350 IWL_DEBUG_INFO(phy_db->trans,
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans.h b/drivers/net/wireless/iwlwifi/iwl-trans.h
index 01b18fe0a987..c57d3666e05c 100644
--- a/drivers/net/wireless/iwlwifi/iwl-trans.h
+++ b/drivers/net/wireless/iwlwifi/iwl-trans.h
@@ -189,10 +189,9 @@ static inline u32 iwl_rx_packet_payload_len(const struct iwl_rx_packet *pkt)
189/** 189/**
190 * enum CMD_MODE - how to send the host commands ? 190 * enum CMD_MODE - how to send the host commands ?
191 * 191 *
192 * @CMD_SYNC: The caller will be stalled until the fw responds to the command
193 * @CMD_ASYNC: Return right away and don't wait for the response 192 * @CMD_ASYNC: Return right away and don't wait for the response
194 * @CMD_WANT_SKB: valid only with CMD_SYNC. The caller needs the buffer of the 193 * @CMD_WANT_SKB: Not valid with CMD_ASYNC. The caller needs the buffer of
195 * response. The caller needs to call iwl_free_resp when done. 194 * the response. The caller needs to call iwl_free_resp when done.
196 * @CMD_HIGH_PRIO: The command is high priority - it goes to the front of the 195 * @CMD_HIGH_PRIO: The command is high priority - it goes to the front of the
197 * command queue, but after other high priority commands. valid only 196 * command queue, but after other high priority commands. valid only
198 * with CMD_ASYNC. 197 * with CMD_ASYNC.
@@ -202,7 +201,6 @@ static inline u32 iwl_rx_packet_payload_len(const struct iwl_rx_packet *pkt)
202 * (i.e. mark it as non-idle). 201 * (i.e. mark it as non-idle).
203 */ 202 */
204enum CMD_MODE { 203enum CMD_MODE {
205 CMD_SYNC = 0,
206 CMD_ASYNC = BIT(0), 204 CMD_ASYNC = BIT(0),
207 CMD_WANT_SKB = BIT(1), 205 CMD_WANT_SKB = BIT(1),
208 CMD_SEND_IN_RFKILL = BIT(2), 206 CMD_SEND_IN_RFKILL = BIT(2),
@@ -427,7 +425,7 @@ struct iwl_trans;
427 * @send_cmd:send a host command. Must return -ERFKILL if RFkill is asserted. 425 * @send_cmd:send a host command. Must return -ERFKILL if RFkill is asserted.
428 * If RFkill is asserted in the middle of a SYNC host command, it must 426 * If RFkill is asserted in the middle of a SYNC host command, it must
429 * return -ERFKILL straight away. 427 * return -ERFKILL straight away.
430 * May sleep only if CMD_SYNC is set 428 * May sleep only if CMD_ASYNC is not set
431 * @tx: send an skb 429 * @tx: send an skb
432 * Must be atomic 430 * Must be atomic
433 * @reclaim: free packet until ssn. Returns a list of freed packets. 431 * @reclaim: free packet until ssn. Returns a list of freed packets.
diff --git a/drivers/net/wireless/iwlwifi/mvm/coex.c b/drivers/net/wireless/iwlwifi/mvm/coex.c
index 31926fd23e0c..2b87a77047cb 100644
--- a/drivers/net/wireless/iwlwifi/mvm/coex.c
+++ b/drivers/net/wireless/iwlwifi/mvm/coex.c
@@ -106,7 +106,7 @@ static const u8 iwl_bt_prio_tbl[BT_COEX_PRIO_TBL_EVT_MAX] = {
106 106
107static int iwl_send_bt_prio_tbl(struct iwl_mvm *mvm) 107static int iwl_send_bt_prio_tbl(struct iwl_mvm *mvm)
108{ 108{
109 return iwl_mvm_send_cmd_pdu(mvm, BT_COEX_PRIO_TABLE, CMD_SYNC, 109 return iwl_mvm_send_cmd_pdu(mvm, BT_COEX_PRIO_TABLE, 0,
110 sizeof(struct iwl_bt_coex_prio_tbl_cmd), 110 sizeof(struct iwl_bt_coex_prio_tbl_cmd),
111 &iwl_bt_prio_tbl); 111 &iwl_bt_prio_tbl);
112} 112}
@@ -565,7 +565,6 @@ int iwl_send_bt_init_conf(struct iwl_mvm *mvm)
565 .id = BT_CONFIG, 565 .id = BT_CONFIG,
566 .len = { sizeof(*bt_cmd), }, 566 .len = { sizeof(*bt_cmd), },
567 .dataflags = { IWL_HCMD_DFL_NOCOPY, }, 567 .dataflags = { IWL_HCMD_DFL_NOCOPY, },
568 .flags = CMD_SYNC,
569 }; 568 };
570 int ret; 569 int ret;
571 u32 flags; 570 u32 flags;
@@ -663,7 +662,6 @@ static int iwl_mvm_bt_udpate_ctrl_kill_msk(struct iwl_mvm *mvm,
663 .data[0] = &bt_cmd, 662 .data[0] = &bt_cmd,
664 .len = { sizeof(*bt_cmd), }, 663 .len = { sizeof(*bt_cmd), },
665 .dataflags = { IWL_HCMD_DFL_NOCOPY, }, 664 .dataflags = { IWL_HCMD_DFL_NOCOPY, },
666 .flags = CMD_SYNC,
667 }; 665 };
668 int ret = 0; 666 int ret = 0;
669 667
@@ -1022,7 +1020,7 @@ static void iwl_mvm_bt_coex_notif_handle(struct iwl_mvm *mvm)
1022 1020
1023 /* Don't spam the fw with the same command over and over */ 1021 /* Don't spam the fw with the same command over and over */
1024 if (memcmp(&cmd, &mvm->last_bt_ci_cmd, sizeof(cmd))) { 1022 if (memcmp(&cmd, &mvm->last_bt_ci_cmd, sizeof(cmd))) {
1025 if (iwl_mvm_send_cmd_pdu(mvm, BT_COEX_CI, CMD_SYNC, 1023 if (iwl_mvm_send_cmd_pdu(mvm, BT_COEX_CI, 0,
1026 sizeof(cmd), &cmd)) 1024 sizeof(cmd), &cmd))
1027 IWL_ERR(mvm, "Failed to send BT_CI cmd\n"); 1025 IWL_ERR(mvm, "Failed to send BT_CI cmd\n");
1028 memcpy(&mvm->last_bt_ci_cmd, &cmd, sizeof(cmd)); 1026 memcpy(&mvm->last_bt_ci_cmd, &cmd, sizeof(cmd));
@@ -1278,7 +1276,6 @@ int iwl_mvm_rx_ant_coupling_notif(struct iwl_mvm *mvm,
1278 .id = BT_CONFIG, 1276 .id = BT_CONFIG,
1279 .len = { sizeof(*bt_cmd), }, 1277 .len = { sizeof(*bt_cmd), },
1280 .dataflags = { IWL_HCMD_DFL_NOCOPY, }, 1278 .dataflags = { IWL_HCMD_DFL_NOCOPY, },
1281 .flags = CMD_SYNC,
1282 }; 1279 };
1283 1280
1284 if (!IWL_MVM_BT_COEX_CORUNNING) 1281 if (!IWL_MVM_BT_COEX_CORUNNING)
diff --git a/drivers/net/wireless/iwlwifi/mvm/d3.c b/drivers/net/wireless/iwlwifi/mvm/d3.c
index 7694472a303e..7dc71f344c94 100644
--- a/drivers/net/wireless/iwlwifi/mvm/d3.c
+++ b/drivers/net/wireless/iwlwifi/mvm/d3.c
@@ -193,8 +193,7 @@ static void iwl_mvm_wowlan_program_keys(struct ieee80211_hw *hw,
193 wkc.wep_key.key_offset = data->wep_key_idx; 193 wkc.wep_key.key_offset = data->wep_key_idx;
194 } 194 }
195 195
196 ret = iwl_mvm_send_cmd_pdu(mvm, WEP_KEY, CMD_SYNC, 196 ret = iwl_mvm_send_cmd_pdu(mvm, WEP_KEY, 0, sizeof(wkc), &wkc);
197 sizeof(wkc), &wkc);
198 data->error = ret != 0; 197 data->error = ret != 0;
199 198
200 mvm->ptk_ivlen = key->iv_len; 199 mvm->ptk_ivlen = key->iv_len;
@@ -341,7 +340,6 @@ static int iwl_mvm_send_patterns(struct iwl_mvm *mvm,
341 struct iwl_host_cmd cmd = { 340 struct iwl_host_cmd cmd = {
342 .id = WOWLAN_PATTERNS, 341 .id = WOWLAN_PATTERNS,
343 .dataflags[0] = IWL_HCMD_DFL_NOCOPY, 342 .dataflags[0] = IWL_HCMD_DFL_NOCOPY,
344 .flags = CMD_SYNC,
345 }; 343 };
346 int i, err; 344 int i, err;
347 345
@@ -518,7 +516,6 @@ static int iwl_mvm_send_remote_wake_cfg(struct iwl_mvm *mvm,
518 .id = REMOTE_WAKE_CONFIG_CMD, 516 .id = REMOTE_WAKE_CONFIG_CMD,
519 .len = { sizeof(*cfg), }, 517 .len = { sizeof(*cfg), },
520 .dataflags = { IWL_HCMD_DFL_NOCOPY, }, 518 .dataflags = { IWL_HCMD_DFL_NOCOPY, },
521 .flags = CMD_SYNC,
522 }; 519 };
523 int ret; 520 int ret;
524 521
@@ -719,7 +716,7 @@ static int iwl_mvm_d3_reprogram(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
719 for (i = 1; i < MAX_BINDINGS; i++) 716 for (i = 1; i < MAX_BINDINGS; i++)
720 quota_cmd.quotas[i].id_and_color = cpu_to_le32(FW_CTXT_INVALID); 717 quota_cmd.quotas[i].id_and_color = cpu_to_le32(FW_CTXT_INVALID);
721 718
722 ret = iwl_mvm_send_cmd_pdu(mvm, TIME_QUOTA_CMD, CMD_SYNC, 719 ret = iwl_mvm_send_cmd_pdu(mvm, TIME_QUOTA_CMD, 0,
723 sizeof(quota_cmd), &quota_cmd); 720 sizeof(quota_cmd), &quota_cmd);
724 if (ret) 721 if (ret)
725 IWL_ERR(mvm, "Failed to send quota: %d\n", ret); 722 IWL_ERR(mvm, "Failed to send quota: %d\n", ret);
@@ -739,7 +736,7 @@ static int iwl_mvm_get_last_nonqos_seq(struct iwl_mvm *mvm,
739 }; 736 };
740 struct iwl_host_cmd cmd = { 737 struct iwl_host_cmd cmd = {
741 .id = NON_QOS_TX_COUNTER_CMD, 738 .id = NON_QOS_TX_COUNTER_CMD,
742 .flags = CMD_SYNC | CMD_WANT_SKB, 739 .flags = CMD_WANT_SKB,
743 }; 740 };
744 int err; 741 int err;
745 u32 size; 742 u32 size;
@@ -781,7 +778,7 @@ void iwl_mvm_set_last_nonqos_seq(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
781 778
782 mvmvif->seqno_valid = false; 779 mvmvif->seqno_valid = false;
783 780
784 if (iwl_mvm_send_cmd_pdu(mvm, NON_QOS_TX_COUNTER_CMD, CMD_SYNC, 781 if (iwl_mvm_send_cmd_pdu(mvm, NON_QOS_TX_COUNTER_CMD, 0,
785 sizeof(query_cmd), &query_cmd)) 782 sizeof(query_cmd), &query_cmd))
786 IWL_ERR(mvm, "failed to set non-QoS seqno\n"); 783 IWL_ERR(mvm, "failed to set non-QoS seqno\n");
787} 784}
@@ -796,7 +793,7 @@ iwl_mvm_send_wowlan_config_cmd(struct iwl_mvm *mvm,
796 if (mvm->fw->ucode_capa.api[0] & IWL_UCODE_TLV_API_WOWLAN_CONFIG_TID) 793 if (mvm->fw->ucode_capa.api[0] & IWL_UCODE_TLV_API_WOWLAN_CONFIG_TID)
797 cmd_len = sizeof(*cmd); 794 cmd_len = sizeof(*cmd);
798 795
799 return iwl_mvm_send_cmd_pdu(mvm, WOWLAN_CONFIGURATION, CMD_SYNC, 796 return iwl_mvm_send_cmd_pdu(mvm, WOWLAN_CONFIGURATION, 0,
800 cmd_len, cmd); 797 cmd_len, cmd);
801} 798}
802 799
@@ -825,7 +822,7 @@ static int __iwl_mvm_suspend(struct ieee80211_hw *hw,
825 }; 822 };
826 struct iwl_host_cmd d3_cfg_cmd = { 823 struct iwl_host_cmd d3_cfg_cmd = {
827 .id = D3_CONFIG_CMD, 824 .id = D3_CONFIG_CMD,
828 .flags = CMD_SYNC | CMD_WANT_SKB, 825 .flags = CMD_WANT_SKB,
829 .data[0] = &d3_cfg_cmd_data, 826 .data[0] = &d3_cfg_cmd_data,
830 .len[0] = sizeof(d3_cfg_cmd_data), 827 .len[0] = sizeof(d3_cfg_cmd_data),
831 }; 828 };
@@ -975,7 +972,6 @@ static int __iwl_mvm_suspend(struct ieee80211_hw *hw,
975 if (key_data.use_rsc_tsc) { 972 if (key_data.use_rsc_tsc) {
976 struct iwl_host_cmd rsc_tsc_cmd = { 973 struct iwl_host_cmd rsc_tsc_cmd = {
977 .id = WOWLAN_TSC_RSC_PARAM, 974 .id = WOWLAN_TSC_RSC_PARAM,
978 .flags = CMD_SYNC,
979 .data[0] = key_data.rsc_tsc, 975 .data[0] = key_data.rsc_tsc,
980 .dataflags[0] = IWL_HCMD_DFL_NOCOPY, 976 .dataflags[0] = IWL_HCMD_DFL_NOCOPY,
981 .len[0] = sizeof(*key_data.rsc_tsc), 977 .len[0] = sizeof(*key_data.rsc_tsc),
@@ -989,7 +985,7 @@ static int __iwl_mvm_suspend(struct ieee80211_hw *hw,
989 if (key_data.use_tkip) { 985 if (key_data.use_tkip) {
990 ret = iwl_mvm_send_cmd_pdu(mvm, 986 ret = iwl_mvm_send_cmd_pdu(mvm,
991 WOWLAN_TKIP_PARAM, 987 WOWLAN_TKIP_PARAM,
992 CMD_SYNC, sizeof(tkip_cmd), 988 0, sizeof(tkip_cmd),
993 &tkip_cmd); 989 &tkip_cmd);
994 if (ret) 990 if (ret)
995 goto out; 991 goto out;
@@ -1006,8 +1002,7 @@ static int __iwl_mvm_suspend(struct ieee80211_hw *hw,
1006 kek_kck_cmd.replay_ctr = mvmvif->rekey_data.replay_ctr; 1002 kek_kck_cmd.replay_ctr = mvmvif->rekey_data.replay_ctr;
1007 1003
1008 ret = iwl_mvm_send_cmd_pdu(mvm, 1004 ret = iwl_mvm_send_cmd_pdu(mvm,
1009 WOWLAN_KEK_KCK_MATERIAL, 1005 WOWLAN_KEK_KCK_MATERIAL, 0,
1010 CMD_SYNC,
1011 sizeof(kek_kck_cmd), 1006 sizeof(kek_kck_cmd),
1012 &kek_kck_cmd); 1007 &kek_kck_cmd);
1013 if (ret) 1008 if (ret)
@@ -1023,7 +1018,7 @@ static int __iwl_mvm_suspend(struct ieee80211_hw *hw,
1023 if (ret) 1018 if (ret)
1024 goto out; 1019 goto out;
1025 1020
1026 ret = iwl_mvm_send_proto_offload(mvm, vif, false, CMD_SYNC); 1021 ret = iwl_mvm_send_proto_offload(mvm, vif, false, 0);
1027 if (ret) 1022 if (ret)
1028 goto out; 1023 goto out;
1029 1024
@@ -1466,7 +1461,7 @@ static bool iwl_mvm_query_wakeup_reasons(struct iwl_mvm *mvm,
1466 } err_info; 1461 } err_info;
1467 struct iwl_host_cmd cmd = { 1462 struct iwl_host_cmd cmd = {
1468 .id = WOWLAN_GET_STATUSES, 1463 .id = WOWLAN_GET_STATUSES,
1469 .flags = CMD_SYNC | CMD_WANT_SKB, 1464 .flags = CMD_WANT_SKB,
1470 }; 1465 };
1471 struct iwl_wowlan_status_data status; 1466 struct iwl_wowlan_status_data status;
1472 struct iwl_wowlan_status *fw_status; 1467 struct iwl_wowlan_status *fw_status;
@@ -1492,7 +1487,7 @@ static bool iwl_mvm_query_wakeup_reasons(struct iwl_mvm *mvm,
1492 } 1487 }
1493 1488
1494 /* only for tracing for now */ 1489 /* only for tracing for now */
1495 ret = iwl_mvm_send_cmd_pdu(mvm, OFFLOADS_QUERY_CMD, CMD_SYNC, 0, NULL); 1490 ret = iwl_mvm_send_cmd_pdu(mvm, OFFLOADS_QUERY_CMD, 0, 0, NULL);
1496 if (ret) 1491 if (ret)
1497 IWL_ERR(mvm, "failed to query offload statistics (%d)\n", ret); 1492 IWL_ERR(mvm, "failed to query offload statistics (%d)\n", ret);
1498 1493
diff --git a/drivers/net/wireless/iwlwifi/mvm/debugfs-vif.c b/drivers/net/wireless/iwlwifi/mvm/debugfs-vif.c
index 6047cfdafb95..21793c871a73 100644
--- a/drivers/net/wireless/iwlwifi/mvm/debugfs-vif.c
+++ b/drivers/net/wireless/iwlwifi/mvm/debugfs-vif.c
@@ -452,9 +452,9 @@ static ssize_t iwl_dbgfs_bf_params_write(struct ieee80211_vif *vif, char *buf,
452 mutex_lock(&mvm->mutex); 452 mutex_lock(&mvm->mutex);
453 iwl_dbgfs_update_bf(vif, param, value); 453 iwl_dbgfs_update_bf(vif, param, value);
454 if (param == MVM_DEBUGFS_BF_ENABLE_BEACON_FILTER && !value) 454 if (param == MVM_DEBUGFS_BF_ENABLE_BEACON_FILTER && !value)
455 ret = iwl_mvm_disable_beacon_filter(mvm, vif, CMD_SYNC); 455 ret = iwl_mvm_disable_beacon_filter(mvm, vif, 0);
456 else 456 else
457 ret = iwl_mvm_enable_beacon_filter(mvm, vif, CMD_SYNC); 457 ret = iwl_mvm_enable_beacon_filter(mvm, vif, 0);
458 mutex_unlock(&mvm->mutex); 458 mutex_unlock(&mvm->mutex);
459 459
460 return ret ?: count; 460 return ret ?: count;
diff --git a/drivers/net/wireless/iwlwifi/mvm/debugfs.c b/drivers/net/wireless/iwlwifi/mvm/debugfs.c
index bef487bb880e..e57812999033 100644
--- a/drivers/net/wireless/iwlwifi/mvm/debugfs.c
+++ b/drivers/net/wireless/iwlwifi/mvm/debugfs.c
@@ -681,7 +681,7 @@ static ssize_t iwl_dbgfs_fw_restart_write(struct iwl_mvm *mvm, char *buf,
681 mvm->restart_fw++; 681 mvm->restart_fw++;
682 682
683 /* take the return value to make compiler happy - it will fail anyway */ 683 /* take the return value to make compiler happy - it will fail anyway */
684 ret = iwl_mvm_send_cmd_pdu(mvm, REPLY_ERROR, CMD_SYNC, 0, NULL); 684 ret = iwl_mvm_send_cmd_pdu(mvm, REPLY_ERROR, 0, 0, NULL);
685 685
686 mutex_unlock(&mvm->mutex); 686 mutex_unlock(&mvm->mutex);
687 687
@@ -838,7 +838,7 @@ static ssize_t iwl_dbgfs_bcast_filters_write(struct iwl_mvm *mvm, char *buf,
838 /* send updated bcast filtering configuration */ 838 /* send updated bcast filtering configuration */
839 if (mvm->dbgfs_bcast_filtering.override && 839 if (mvm->dbgfs_bcast_filtering.override &&
840 iwl_mvm_bcast_filter_build_cmd(mvm, &cmd)) 840 iwl_mvm_bcast_filter_build_cmd(mvm, &cmd))
841 err = iwl_mvm_send_cmd_pdu(mvm, BCAST_FILTER_CMD, CMD_SYNC, 841 err = iwl_mvm_send_cmd_pdu(mvm, BCAST_FILTER_CMD, 0,
842 sizeof(cmd), &cmd); 842 sizeof(cmd), &cmd);
843 mutex_unlock(&mvm->mutex); 843 mutex_unlock(&mvm->mutex);
844 844
@@ -910,7 +910,7 @@ static ssize_t iwl_dbgfs_bcast_filters_macs_write(struct iwl_mvm *mvm,
910 /* send updated bcast filtering configuration */ 910 /* send updated bcast filtering configuration */
911 if (mvm->dbgfs_bcast_filtering.override && 911 if (mvm->dbgfs_bcast_filtering.override &&
912 iwl_mvm_bcast_filter_build_cmd(mvm, &cmd)) 912 iwl_mvm_bcast_filter_build_cmd(mvm, &cmd))
913 err = iwl_mvm_send_cmd_pdu(mvm, BCAST_FILTER_CMD, CMD_SYNC, 913 err = iwl_mvm_send_cmd_pdu(mvm, BCAST_FILTER_CMD, 0,
914 sizeof(cmd), &cmd); 914 sizeof(cmd), &cmd);
915 mutex_unlock(&mvm->mutex); 915 mutex_unlock(&mvm->mutex);
916 916
diff --git a/drivers/net/wireless/iwlwifi/mvm/fw.c b/drivers/net/wireless/iwlwifi/mvm/fw.c
index 7ec2dfe4cf16..2cb72656f587 100644
--- a/drivers/net/wireless/iwlwifi/mvm/fw.c
+++ b/drivers/net/wireless/iwlwifi/mvm/fw.c
@@ -99,7 +99,7 @@ static int iwl_send_tx_ant_cfg(struct iwl_mvm *mvm, u8 valid_tx_ant)
99 }; 99 };
100 100
101 IWL_DEBUG_FW(mvm, "select valid tx ant: %u\n", valid_tx_ant); 101 IWL_DEBUG_FW(mvm, "select valid tx ant: %u\n", valid_tx_ant);
102 return iwl_mvm_send_cmd_pdu(mvm, TX_ANT_CONFIGURATION_CMD, CMD_SYNC, 102 return iwl_mvm_send_cmd_pdu(mvm, TX_ANT_CONFIGURATION_CMD, 0,
103 sizeof(tx_ant_cmd), &tx_ant_cmd); 103 sizeof(tx_ant_cmd), &tx_ant_cmd);
104} 104}
105 105
@@ -256,7 +256,7 @@ static int iwl_send_phy_cfg_cmd(struct iwl_mvm *mvm)
256 IWL_DEBUG_INFO(mvm, "Sending Phy CFG command: 0x%x\n", 256 IWL_DEBUG_INFO(mvm, "Sending Phy CFG command: 0x%x\n",
257 phy_cfg_cmd.phy_cfg); 257 phy_cfg_cmd.phy_cfg);
258 258
259 return iwl_mvm_send_cmd_pdu(mvm, PHY_CONFIGURATION_CMD, CMD_SYNC, 259 return iwl_mvm_send_cmd_pdu(mvm, PHY_CONFIGURATION_CMD, 0,
260 sizeof(phy_cfg_cmd), &phy_cfg_cmd); 260 sizeof(phy_cfg_cmd), &phy_cfg_cmd);
261} 261}
262 262
diff --git a/drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c b/drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c
index 56cf58e95698..d5f50afe942a 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c
+++ b/drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c
@@ -685,7 +685,7 @@ static void iwl_mvm_mac_ctxt_cmd_common(struct iwl_mvm *mvm,
685static int iwl_mvm_mac_ctxt_send_cmd(struct iwl_mvm *mvm, 685static int iwl_mvm_mac_ctxt_send_cmd(struct iwl_mvm *mvm,
686 struct iwl_mac_ctx_cmd *cmd) 686 struct iwl_mac_ctx_cmd *cmd)
687{ 687{
688 int ret = iwl_mvm_send_cmd_pdu(mvm, MAC_CONTEXT_CMD, CMD_SYNC, 688 int ret = iwl_mvm_send_cmd_pdu(mvm, MAC_CONTEXT_CMD, 0,
689 sizeof(*cmd), cmd); 689 sizeof(*cmd), cmd);
690 if (ret) 690 if (ret)
691 IWL_ERR(mvm, "Failed to send MAC context (action:%d): %d\n", 691 IWL_ERR(mvm, "Failed to send MAC context (action:%d): %d\n",
@@ -1211,7 +1211,7 @@ int iwl_mvm_mac_ctxt_remove(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
1211 mvmvif->color)); 1211 mvmvif->color));
1212 cmd.action = cpu_to_le32(FW_CTXT_ACTION_REMOVE); 1212 cmd.action = cpu_to_le32(FW_CTXT_ACTION_REMOVE);
1213 1213
1214 ret = iwl_mvm_send_cmd_pdu(mvm, MAC_CONTEXT_CMD, CMD_SYNC, 1214 ret = iwl_mvm_send_cmd_pdu(mvm, MAC_CONTEXT_CMD, 0,
1215 sizeof(cmd), &cmd); 1215 sizeof(cmd), &cmd);
1216 if (ret) { 1216 if (ret) {
1217 IWL_ERR(mvm, "Failed to remove MAC context: %d\n", ret); 1217 IWL_ERR(mvm, "Failed to remove MAC context: %d\n", ret);
diff --git a/drivers/net/wireless/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
index cc6ddc45b416..2f529ebb3b0c 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
@@ -772,7 +772,7 @@ static int iwl_mvm_set_tx_power(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
772 .pwr_restriction = cpu_to_le16(tx_power), 772 .pwr_restriction = cpu_to_le16(tx_power),
773 }; 773 };
774 774
775 return iwl_mvm_send_cmd_pdu(mvm, REDUCE_TX_POWER_CMD, CMD_SYNC, 775 return iwl_mvm_send_cmd_pdu(mvm, REDUCE_TX_POWER_CMD, 0,
776 sizeof(reduce_txpwr_cmd), 776 sizeof(reduce_txpwr_cmd),
777 &reduce_txpwr_cmd); 777 &reduce_txpwr_cmd);
778} 778}
@@ -836,7 +836,7 @@ static int iwl_mvm_mac_add_interface(struct ieee80211_hw *hw,
836 goto out_release; 836 goto out_release;
837 837
838 /* beacon filtering */ 838 /* beacon filtering */
839 ret = iwl_mvm_disable_beacon_filter(mvm, vif, CMD_SYNC); 839 ret = iwl_mvm_disable_beacon_filter(mvm, vif, 0);
840 if (ret) 840 if (ret)
841 goto out_remove_mac; 841 goto out_remove_mac;
842 842
@@ -1243,7 +1243,7 @@ static int iwl_mvm_configure_bcast_filter(struct iwl_mvm *mvm,
1243 if (!iwl_mvm_bcast_filter_build_cmd(mvm, &cmd)) 1243 if (!iwl_mvm_bcast_filter_build_cmd(mvm, &cmd))
1244 return 0; 1244 return 0;
1245 1245
1246 return iwl_mvm_send_cmd_pdu(mvm, BCAST_FILTER_CMD, CMD_SYNC, 1246 return iwl_mvm_send_cmd_pdu(mvm, BCAST_FILTER_CMD, 0,
1247 sizeof(cmd), &cmd); 1247 sizeof(cmd), &cmd);
1248} 1248}
1249#else 1249#else
@@ -1350,7 +1350,7 @@ static void iwl_mvm_bss_info_changed_station(struct iwl_mvm *mvm,
1350 iwl_mvm_remove_time_event(mvm, mvmvif, 1350 iwl_mvm_remove_time_event(mvm, mvmvif,
1351 &mvmvif->time_event_data); 1351 &mvmvif->time_event_data);
1352 iwl_mvm_sf_update(mvm, vif, false); 1352 iwl_mvm_sf_update(mvm, vif, false);
1353 WARN_ON(iwl_mvm_enable_beacon_filter(mvm, vif, CMD_SYNC)); 1353 WARN_ON(iwl_mvm_enable_beacon_filter(mvm, vif, 0));
1354 } else if (changes & (BSS_CHANGED_PS | BSS_CHANGED_P2P_PS | 1354 } else if (changes & (BSS_CHANGED_PS | BSS_CHANGED_P2P_PS |
1355 BSS_CHANGED_QOS)) { 1355 BSS_CHANGED_QOS)) {
1356 ret = iwl_mvm_power_update_mac(mvm, vif); 1356 ret = iwl_mvm_power_update_mac(mvm, vif);
@@ -1367,7 +1367,7 @@ static void iwl_mvm_bss_info_changed_station(struct iwl_mvm *mvm,
1367 IWL_DEBUG_MAC80211(mvm, "cqm info_changed\n"); 1367 IWL_DEBUG_MAC80211(mvm, "cqm info_changed\n");
1368 /* reset cqm events tracking */ 1368 /* reset cqm events tracking */
1369 mvmvif->bf_data.last_cqm_event = 0; 1369 mvmvif->bf_data.last_cqm_event = 0;
1370 ret = iwl_mvm_update_beacon_filter(mvm, vif, false, CMD_SYNC); 1370 ret = iwl_mvm_update_beacon_filter(mvm, vif, false, 0);
1371 if (ret) 1371 if (ret)
1372 IWL_ERR(mvm, "failed to update CQM thresholds\n"); 1372 IWL_ERR(mvm, "failed to update CQM thresholds\n");
1373 } 1373 }
@@ -1734,13 +1734,12 @@ static int iwl_mvm_mac_sta_state(struct ieee80211_hw *hw,
1734 new_state == IEEE80211_STA_AUTHORIZED) { 1734 new_state == IEEE80211_STA_AUTHORIZED) {
1735 /* enable beacon filtering */ 1735 /* enable beacon filtering */
1736 if (vif->bss_conf.dtim_period) 1736 if (vif->bss_conf.dtim_period)
1737 WARN_ON(iwl_mvm_enable_beacon_filter(mvm, vif, 1737 WARN_ON(iwl_mvm_enable_beacon_filter(mvm, vif, 0));
1738 CMD_SYNC));
1739 ret = 0; 1738 ret = 0;
1740 } else if (old_state == IEEE80211_STA_AUTHORIZED && 1739 } else if (old_state == IEEE80211_STA_AUTHORIZED &&
1741 new_state == IEEE80211_STA_ASSOC) { 1740 new_state == IEEE80211_STA_ASSOC) {
1742 /* disable beacon filtering */ 1741 /* disable beacon filtering */
1743 WARN_ON(iwl_mvm_disable_beacon_filter(mvm, vif, CMD_SYNC)); 1742 WARN_ON(iwl_mvm_disable_beacon_filter(mvm, vif, 0));
1744 ret = 0; 1743 ret = 0;
1745 } else if (old_state == IEEE80211_STA_ASSOC && 1744 } else if (old_state == IEEE80211_STA_ASSOC &&
1746 new_state == IEEE80211_STA_AUTH) { 1745 new_state == IEEE80211_STA_AUTH) {
@@ -2366,9 +2365,8 @@ static int __iwl_mvm_mac_testmode_cmd(struct iwl_mvm *mvm,
2366 return -EINVAL; 2365 return -EINVAL;
2367 2366
2368 if (nla_get_u32(tb[IWL_MVM_TM_ATTR_BEACON_FILTER_STATE])) 2367 if (nla_get_u32(tb[IWL_MVM_TM_ATTR_BEACON_FILTER_STATE]))
2369 return iwl_mvm_enable_beacon_filter(mvm, vif, 2368 return iwl_mvm_enable_beacon_filter(mvm, vif, 0);
2370 CMD_SYNC); 2369 return iwl_mvm_disable_beacon_filter(mvm, vif, 0);
2371 return iwl_mvm_disable_beacon_filter(mvm, vif, CMD_SYNC);
2372 } 2370 }
2373 2371
2374 return -EOPNOTSUPP; 2372 return -EOPNOTSUPP;
diff --git a/drivers/net/wireless/iwlwifi/mvm/nvm.c b/drivers/net/wireless/iwlwifi/mvm/nvm.c
index 8dafca68baf0..8acb9f92fa1a 100644
--- a/drivers/net/wireless/iwlwifi/mvm/nvm.c
+++ b/drivers/net/wireless/iwlwifi/mvm/nvm.c
@@ -90,7 +90,7 @@ static int iwl_nvm_write_chunk(struct iwl_mvm *mvm, u16 section,
90 struct iwl_host_cmd cmd = { 90 struct iwl_host_cmd cmd = {
91 .id = NVM_ACCESS_CMD, 91 .id = NVM_ACCESS_CMD,
92 .len = { sizeof(struct iwl_nvm_access_cmd), length }, 92 .len = { sizeof(struct iwl_nvm_access_cmd), length },
93 .flags = CMD_SYNC | CMD_SEND_IN_RFKILL, 93 .flags = CMD_SEND_IN_RFKILL,
94 .data = { &nvm_access_cmd, data }, 94 .data = { &nvm_access_cmd, data },
95 /* data may come from vmalloc, so use _DUP */ 95 /* data may come from vmalloc, so use _DUP */
96 .dataflags = { 0, IWL_HCMD_DFL_DUP }, 96 .dataflags = { 0, IWL_HCMD_DFL_DUP },
@@ -112,7 +112,7 @@ static int iwl_nvm_read_chunk(struct iwl_mvm *mvm, u16 section,
112 struct iwl_rx_packet *pkt; 112 struct iwl_rx_packet *pkt;
113 struct iwl_host_cmd cmd = { 113 struct iwl_host_cmd cmd = {
114 .id = NVM_ACCESS_CMD, 114 .id = NVM_ACCESS_CMD,
115 .flags = CMD_SYNC | CMD_WANT_SKB | CMD_SEND_IN_RFKILL, 115 .flags = CMD_WANT_SKB | CMD_SEND_IN_RFKILL,
116 .data = { &nvm_access_cmd, }, 116 .data = { &nvm_access_cmd, },
117 }; 117 };
118 int ret, bytes_read, offset_read; 118 int ret, bytes_read, offset_read;
diff --git a/drivers/net/wireless/iwlwifi/mvm/ops.c b/drivers/net/wireless/iwlwifi/mvm/ops.c
index e844f0e20256..cc2f7de396de 100644
--- a/drivers/net/wireless/iwlwifi/mvm/ops.c
+++ b/drivers/net/wireless/iwlwifi/mvm/ops.c
@@ -1168,7 +1168,7 @@ static void iwl_mvm_d0i3_exit_work(struct work_struct *wk)
1168 struct iwl_mvm *mvm = container_of(wk, struct iwl_mvm, d0i3_exit_work); 1168 struct iwl_mvm *mvm = container_of(wk, struct iwl_mvm, d0i3_exit_work);
1169 struct iwl_host_cmd get_status_cmd = { 1169 struct iwl_host_cmd get_status_cmd = {
1170 .id = WOWLAN_GET_STATUSES, 1170 .id = WOWLAN_GET_STATUSES,
1171 .flags = CMD_SYNC | CMD_HIGH_PRIO | CMD_WANT_SKB, 1171 .flags = CMD_HIGH_PRIO | CMD_WANT_SKB,
1172 }; 1172 };
1173 struct iwl_wowlan_status *status; 1173 struct iwl_wowlan_status *status;
1174 int ret; 1174 int ret;
diff --git a/drivers/net/wireless/iwlwifi/mvm/phy-ctxt.c b/drivers/net/wireless/iwlwifi/mvm/phy-ctxt.c
index eafc517a5f9e..4902f3b95479 100644
--- a/drivers/net/wireless/iwlwifi/mvm/phy-ctxt.c
+++ b/drivers/net/wireless/iwlwifi/mvm/phy-ctxt.c
@@ -187,7 +187,7 @@ static int iwl_mvm_phy_ctxt_apply(struct iwl_mvm *mvm,
187 iwl_mvm_phy_ctxt_cmd_data(mvm, &cmd, chandef, 187 iwl_mvm_phy_ctxt_cmd_data(mvm, &cmd, chandef,
188 chains_static, chains_dynamic); 188 chains_static, chains_dynamic);
189 189
190 ret = iwl_mvm_send_cmd_pdu(mvm, PHY_CONTEXT_CMD, CMD_SYNC, 190 ret = iwl_mvm_send_cmd_pdu(mvm, PHY_CONTEXT_CMD, 0,
191 sizeof(struct iwl_phy_context_cmd), 191 sizeof(struct iwl_phy_context_cmd),
192 &cmd); 192 &cmd);
193 if (ret) 193 if (ret)
diff --git a/drivers/net/wireless/iwlwifi/mvm/power.c b/drivers/net/wireless/iwlwifi/mvm/power.c
index 99852737a258..fc178d01a8cf 100644
--- a/drivers/net/wireless/iwlwifi/mvm/power.c
+++ b/drivers/net/wireless/iwlwifi/mvm/power.c
@@ -142,7 +142,7 @@ int iwl_mvm_update_beacon_abort(struct iwl_mvm *mvm,
142 mvmvif->bf_data.ba_enabled = enable; 142 mvmvif->bf_data.ba_enabled = enable;
143 iwl_mvm_beacon_filter_set_cqm_params(mvm, vif, &cmd); 143 iwl_mvm_beacon_filter_set_cqm_params(mvm, vif, &cmd);
144 iwl_mvm_beacon_filter_debugfs_parameters(vif, &cmd); 144 iwl_mvm_beacon_filter_debugfs_parameters(vif, &cmd);
145 return iwl_mvm_beacon_filter_send_cmd(mvm, &cmd, CMD_SYNC); 145 return iwl_mvm_beacon_filter_send_cmd(mvm, &cmd, 0);
146} 146}
147 147
148static void iwl_mvm_power_log(struct iwl_mvm *mvm, 148static void iwl_mvm_power_log(struct iwl_mvm *mvm,
@@ -456,7 +456,7 @@ static int iwl_mvm_power_send_cmd(struct iwl_mvm *mvm,
456 memcpy(&iwl_mvm_vif_from_mac80211(vif)->mac_pwr_cmd, &cmd, sizeof(cmd)); 456 memcpy(&iwl_mvm_vif_from_mac80211(vif)->mac_pwr_cmd, &cmd, sizeof(cmd));
457#endif 457#endif
458 458
459 return iwl_mvm_send_cmd_pdu(mvm, MAC_PM_POWER_TABLE, CMD_SYNC, 459 return iwl_mvm_send_cmd_pdu(mvm, MAC_PM_POWER_TABLE, 0,
460 sizeof(cmd), &cmd); 460 sizeof(cmd), &cmd);
461} 461}
462 462
@@ -482,7 +482,7 @@ int iwl_mvm_power_update_device(struct iwl_mvm *mvm)
482 "Sending device power command with flags = 0x%X\n", 482 "Sending device power command with flags = 0x%X\n",
483 cmd.flags); 483 cmd.flags);
484 484
485 return iwl_mvm_send_cmd_pdu(mvm, POWER_TABLE_CMD, CMD_SYNC, sizeof(cmd), 485 return iwl_mvm_send_cmd_pdu(mvm, POWER_TABLE_CMD, 0, sizeof(cmd),
486 &cmd); 486 &cmd);
487} 487}
488 488
diff --git a/drivers/net/wireless/iwlwifi/mvm/quota.c b/drivers/net/wireless/iwlwifi/mvm/quota.c
index 35e86e06dffd..ba68d7b84505 100644
--- a/drivers/net/wireless/iwlwifi/mvm/quota.c
+++ b/drivers/net/wireless/iwlwifi/mvm/quota.c
@@ -285,7 +285,7 @@ int iwl_mvm_update_quotas(struct iwl_mvm *mvm, struct ieee80211_vif *newvif)
285 285
286 iwl_mvm_adjust_quota_for_noa(mvm, &cmd); 286 iwl_mvm_adjust_quota_for_noa(mvm, &cmd);
287 287
288 ret = iwl_mvm_send_cmd_pdu(mvm, TIME_QUOTA_CMD, CMD_SYNC, 288 ret = iwl_mvm_send_cmd_pdu(mvm, TIME_QUOTA_CMD, 0,
289 sizeof(cmd), &cmd); 289 sizeof(cmd), &cmd);
290 if (ret) 290 if (ret)
291 IWL_ERR(mvm, "Failed to send quota: %d\n", ret); 291 IWL_ERR(mvm, "Failed to send quota: %d\n", ret);
diff --git a/drivers/net/wireless/iwlwifi/mvm/scan.c b/drivers/net/wireless/iwlwifi/mvm/scan.c
index a7f6ae3fac1d..988b1753f08b 100644
--- a/drivers/net/wireless/iwlwifi/mvm/scan.c
+++ b/drivers/net/wireless/iwlwifi/mvm/scan.c
@@ -306,7 +306,6 @@ int iwl_mvm_scan_request(struct iwl_mvm *mvm,
306 .id = SCAN_REQUEST_CMD, 306 .id = SCAN_REQUEST_CMD,
307 .len = { 0, }, 307 .len = { 0, },
308 .data = { mvm->scan_cmd, }, 308 .data = { mvm->scan_cmd, },
309 .flags = CMD_SYNC,
310 .dataflags = { IWL_HCMD_DFL_NOCOPY, }, 309 .dataflags = { IWL_HCMD_DFL_NOCOPY, },
311 }; 310 };
312 struct iwl_scan_cmd *cmd = mvm->scan_cmd; 311 struct iwl_scan_cmd *cmd = mvm->scan_cmd;
@@ -517,7 +516,7 @@ int iwl_mvm_cancel_scan(struct iwl_mvm *mvm)
517 ARRAY_SIZE(scan_abort_notif), 516 ARRAY_SIZE(scan_abort_notif),
518 iwl_mvm_scan_abort_notif, NULL); 517 iwl_mvm_scan_abort_notif, NULL);
519 518
520 ret = iwl_mvm_send_cmd_pdu(mvm, SCAN_ABORT_CMD, CMD_SYNC, 0, NULL); 519 ret = iwl_mvm_send_cmd_pdu(mvm, SCAN_ABORT_CMD, 0, 0, NULL);
521 if (ret) { 520 if (ret) {
522 IWL_ERR(mvm, "Couldn't send SCAN_ABORT_CMD: %d\n", ret); 521 IWL_ERR(mvm, "Couldn't send SCAN_ABORT_CMD: %d\n", ret);
523 /* mac80211's state will be cleaned in the nic_restart flow */ 522 /* mac80211's state will be cleaned in the nic_restart flow */
@@ -749,7 +748,6 @@ int iwl_mvm_config_sched_scan(struct iwl_mvm *mvm,
749 struct iwl_scan_offload_cfg *scan_cfg; 748 struct iwl_scan_offload_cfg *scan_cfg;
750 struct iwl_host_cmd cmd = { 749 struct iwl_host_cmd cmd = {
751 .id = SCAN_OFFLOAD_CONFIG_CMD, 750 .id = SCAN_OFFLOAD_CONFIG_CMD,
752 .flags = CMD_SYNC,
753 }; 751 };
754 struct iwl_mvm_scan_params params = {}; 752 struct iwl_mvm_scan_params params = {};
755 753
@@ -807,7 +805,6 @@ int iwl_mvm_config_sched_scan_profiles(struct iwl_mvm *mvm,
807 struct iwl_scan_offload_blacklist *blacklist; 805 struct iwl_scan_offload_blacklist *blacklist;
808 struct iwl_host_cmd cmd = { 806 struct iwl_host_cmd cmd = {
809 .id = SCAN_OFFLOAD_UPDATE_PROFILES_CMD, 807 .id = SCAN_OFFLOAD_UPDATE_PROFILES_CMD,
810 .flags = CMD_SYNC,
811 .len[1] = sizeof(*profile_cfg), 808 .len[1] = sizeof(*profile_cfg),
812 .dataflags[0] = IWL_HCMD_DFL_NOCOPY, 809 .dataflags[0] = IWL_HCMD_DFL_NOCOPY,
813 .dataflags[1] = IWL_HCMD_DFL_NOCOPY, 810 .dataflags[1] = IWL_HCMD_DFL_NOCOPY,
@@ -898,7 +895,7 @@ int iwl_mvm_sched_scan_start(struct iwl_mvm *mvm,
898 scan_req.flags |= 895 scan_req.flags |=
899 cpu_to_le16(IWL_SCAN_OFFLOAD_FLAG_EBS_ACCURATE_MODE); 896 cpu_to_le16(IWL_SCAN_OFFLOAD_FLAG_EBS_ACCURATE_MODE);
900 897
901 return iwl_mvm_send_cmd_pdu(mvm, SCAN_OFFLOAD_REQUEST_CMD, CMD_SYNC, 898 return iwl_mvm_send_cmd_pdu(mvm, SCAN_OFFLOAD_REQUEST_CMD, 0,
902 sizeof(scan_req), &scan_req); 899 sizeof(scan_req), &scan_req);
903} 900}
904 901
@@ -907,7 +904,6 @@ static int iwl_mvm_send_sched_scan_abort(struct iwl_mvm *mvm)
907 int ret; 904 int ret;
908 struct iwl_host_cmd cmd = { 905 struct iwl_host_cmd cmd = {
909 .id = SCAN_OFFLOAD_ABORT_CMD, 906 .id = SCAN_OFFLOAD_ABORT_CMD,
910 .flags = CMD_SYNC,
911 }; 907 };
912 u32 status; 908 u32 status;
913 909
diff --git a/drivers/net/wireless/iwlwifi/mvm/sta.c b/drivers/net/wireless/iwlwifi/mvm/sta.c
index 3e11b9d802e7..1fb01ea2e704 100644
--- a/drivers/net/wireless/iwlwifi/mvm/sta.c
+++ b/drivers/net/wireless/iwlwifi/mvm/sta.c
@@ -327,7 +327,7 @@ static int iwl_mvm_rm_sta_common(struct iwl_mvm *mvm, u8 sta_id)
327 return -EINVAL; 327 return -EINVAL;
328 } 328 }
329 329
330 ret = iwl_mvm_send_cmd_pdu(mvm, REMOVE_STA, CMD_SYNC, 330 ret = iwl_mvm_send_cmd_pdu(mvm, REMOVE_STA, 0,
331 sizeof(rm_sta_cmd), &rm_sta_cmd); 331 sizeof(rm_sta_cmd), &rm_sta_cmd);
332 if (ret) { 332 if (ret) {
333 IWL_ERR(mvm, "Failed to remove station. Id=%d\n", sta_id); 333 IWL_ERR(mvm, "Failed to remove station. Id=%d\n", sta_id);
@@ -1053,12 +1053,12 @@ static int iwl_mvm_send_sta_key(struct iwl_mvm *mvm,
1053 cmd.sta_id = sta_id; 1053 cmd.sta_id = sta_id;
1054 1054
1055 status = ADD_STA_SUCCESS; 1055 status = ADD_STA_SUCCESS;
1056 if (cmd_flags == CMD_SYNC) 1056 if (cmd_flags & CMD_ASYNC)
1057 ret = iwl_mvm_send_cmd_pdu_status(mvm, ADD_STA_KEY, sizeof(cmd),
1058 &cmd, &status);
1059 else
1060 ret = iwl_mvm_send_cmd_pdu(mvm, ADD_STA_KEY, CMD_ASYNC, 1057 ret = iwl_mvm_send_cmd_pdu(mvm, ADD_STA_KEY, CMD_ASYNC,
1061 sizeof(cmd), &cmd); 1058 sizeof(cmd), &cmd);
1059 else
1060 ret = iwl_mvm_send_cmd_pdu_status(mvm, ADD_STA_KEY, sizeof(cmd),
1061 &cmd, &status);
1062 1062
1063 switch (status) { 1063 switch (status) {
1064 case ADD_STA_SUCCESS: 1064 case ADD_STA_SUCCESS:
@@ -1111,7 +1111,7 @@ static int iwl_mvm_send_sta_igtk(struct iwl_mvm *mvm,
1111 remove_key ? "removing" : "installing", 1111 remove_key ? "removing" : "installing",
1112 igtk_cmd.sta_id); 1112 igtk_cmd.sta_id);
1113 1113
1114 return iwl_mvm_send_cmd_pdu(mvm, MGMT_MCAST_KEY, CMD_SYNC, 1114 return iwl_mvm_send_cmd_pdu(mvm, MGMT_MCAST_KEY, 0,
1115 sizeof(igtk_cmd), &igtk_cmd); 1115 sizeof(igtk_cmd), &igtk_cmd);
1116} 1116}
1117 1117
@@ -1198,15 +1198,15 @@ int iwl_mvm_set_sta_key(struct iwl_mvm *mvm,
1198 ieee80211_get_key_rx_seq(keyconf, 0, &seq); 1198 ieee80211_get_key_rx_seq(keyconf, 0, &seq);
1199 ieee80211_get_tkip_rx_p1k(keyconf, addr, seq.tkip.iv32, p1k); 1199 ieee80211_get_tkip_rx_p1k(keyconf, addr, seq.tkip.iv32, p1k);
1200 ret = iwl_mvm_send_sta_key(mvm, mvm_sta, keyconf, sta_id, 1200 ret = iwl_mvm_send_sta_key(mvm, mvm_sta, keyconf, sta_id,
1201 seq.tkip.iv32, p1k, CMD_SYNC); 1201 seq.tkip.iv32, p1k, 0);
1202 break; 1202 break;
1203 case WLAN_CIPHER_SUITE_CCMP: 1203 case WLAN_CIPHER_SUITE_CCMP:
1204 ret = iwl_mvm_send_sta_key(mvm, mvm_sta, keyconf, sta_id, 1204 ret = iwl_mvm_send_sta_key(mvm, mvm_sta, keyconf, sta_id,
1205 0, NULL, CMD_SYNC); 1205 0, NULL, 0);
1206 break; 1206 break;
1207 default: 1207 default:
1208 ret = iwl_mvm_send_sta_key(mvm, mvm_sta, keyconf, 1208 ret = iwl_mvm_send_sta_key(mvm, mvm_sta, keyconf,
1209 sta_id, 0, NULL, CMD_SYNC); 1209 sta_id, 0, NULL, 0);
1210 } 1210 }
1211 1211
1212 if (ret) 1212 if (ret)
diff --git a/drivers/net/wireless/iwlwifi/mvm/time-event.c b/drivers/net/wireless/iwlwifi/mvm/time-event.c
index a9402937f767..80100f6cc12a 100644
--- a/drivers/net/wireless/iwlwifi/mvm/time-event.c
+++ b/drivers/net/wireless/iwlwifi/mvm/time-event.c
@@ -312,7 +312,7 @@ static int iwl_mvm_time_event_send_add(struct iwl_mvm *mvm,
312 ARRAY_SIZE(time_event_response), 312 ARRAY_SIZE(time_event_response),
313 iwl_mvm_time_event_response, te_data); 313 iwl_mvm_time_event_response, te_data);
314 314
315 ret = iwl_mvm_send_cmd_pdu(mvm, TIME_EVENT_CMD, CMD_SYNC, 315 ret = iwl_mvm_send_cmd_pdu(mvm, TIME_EVENT_CMD, 0,
316 sizeof(*te_cmd), te_cmd); 316 sizeof(*te_cmd), te_cmd);
317 if (ret) { 317 if (ret) {
318 IWL_ERR(mvm, "Couldn't send TIME_EVENT_CMD: %d\n", ret); 318 IWL_ERR(mvm, "Couldn't send TIME_EVENT_CMD: %d\n", ret);
@@ -434,7 +434,7 @@ void iwl_mvm_remove_time_event(struct iwl_mvm *mvm,
434 cpu_to_le32(FW_CMD_ID_AND_COLOR(mvmvif->id, mvmvif->color)); 434 cpu_to_le32(FW_CMD_ID_AND_COLOR(mvmvif->id, mvmvif->color));
435 435
436 IWL_DEBUG_TE(mvm, "Removing TE 0x%x\n", le32_to_cpu(time_cmd.id)); 436 IWL_DEBUG_TE(mvm, "Removing TE 0x%x\n", le32_to_cpu(time_cmd.id));
437 ret = iwl_mvm_send_cmd_pdu(mvm, TIME_EVENT_CMD, CMD_SYNC, 437 ret = iwl_mvm_send_cmd_pdu(mvm, TIME_EVENT_CMD, 0,
438 sizeof(time_cmd), &time_cmd); 438 sizeof(time_cmd), &time_cmd);
439 if (WARN_ON(ret)) 439 if (WARN_ON(ret))
440 return; 440 return;
diff --git a/drivers/net/wireless/iwlwifi/mvm/tt.c b/drivers/net/wireless/iwlwifi/mvm/tt.c
index 39a3e03a0acd..868561512783 100644
--- a/drivers/net/wireless/iwlwifi/mvm/tt.c
+++ b/drivers/net/wireless/iwlwifi/mvm/tt.c
@@ -409,7 +409,6 @@ void iwl_mvm_tt_tx_backoff(struct iwl_mvm *mvm, u32 backoff)
409 .id = REPLY_THERMAL_MNG_BACKOFF, 409 .id = REPLY_THERMAL_MNG_BACKOFF,
410 .len = { sizeof(u32), }, 410 .len = { sizeof(u32), },
411 .data = { &backoff, }, 411 .data = { &backoff, },
412 .flags = CMD_SYNC,
413 }; 412 };
414 413
415 backoff = max(backoff, mvm->thermal_throttle.min_backoff); 414 backoff = max(backoff, mvm->thermal_throttle.min_backoff);
diff --git a/drivers/net/wireless/iwlwifi/mvm/tx.c b/drivers/net/wireless/iwlwifi/mvm/tx.c
index ff1b630e130e..3846a6c41eb1 100644
--- a/drivers/net/wireless/iwlwifi/mvm/tx.c
+++ b/drivers/net/wireless/iwlwifi/mvm/tx.c
@@ -958,7 +958,7 @@ int iwl_mvm_flush_tx_path(struct iwl_mvm *mvm, u32 tfd_msk, bool sync)
958 .flush_ctl = cpu_to_le16(DUMP_TX_FIFO_FLUSH), 958 .flush_ctl = cpu_to_le16(DUMP_TX_FIFO_FLUSH),
959 }; 959 };
960 960
961 u32 flags = sync ? CMD_SYNC : CMD_ASYNC; 961 u32 flags = sync ? 0 : CMD_ASYNC;
962 962
963 ret = iwl_mvm_send_cmd_pdu(mvm, TXPATH_FLUSH, flags, 963 ret = iwl_mvm_send_cmd_pdu(mvm, TXPATH_FLUSH, flags,
964 sizeof(flush_cmd), &flush_cmd); 964 sizeof(flush_cmd), &flush_cmd);
diff --git a/drivers/net/wireless/iwlwifi/mvm/utils.c b/drivers/net/wireless/iwlwifi/mvm/utils.c
index 9cd0309216df..b269f1e30e87 100644
--- a/drivers/net/wireless/iwlwifi/mvm/utils.c
+++ b/drivers/net/wireless/iwlwifi/mvm/utils.c
@@ -144,7 +144,7 @@ int iwl_mvm_send_cmd_status(struct iwl_mvm *mvm, struct iwl_host_cmd *cmd,
144 "cmd flags %x", cmd->flags)) 144 "cmd flags %x", cmd->flags))
145 return -EINVAL; 145 return -EINVAL;
146 146
147 cmd->flags |= CMD_SYNC | CMD_WANT_SKB; 147 cmd->flags |= CMD_WANT_SKB;
148 148
149 ret = iwl_trans_send_cmd(mvm->trans, cmd); 149 ret = iwl_trans_send_cmd(mvm->trans, cmd);
150 if (ret == -ERFKILL) { 150 if (ret == -ERFKILL) {
@@ -599,7 +599,7 @@ int iwl_mvm_send_lq_cmd(struct iwl_mvm *mvm, struct iwl_lq_cmd *lq, bool init)
599 struct iwl_host_cmd cmd = { 599 struct iwl_host_cmd cmd = {
600 .id = LQ_CMD, 600 .id = LQ_CMD,
601 .len = { sizeof(struct iwl_lq_cmd), }, 601 .len = { sizeof(struct iwl_lq_cmd), },
602 .flags = init ? CMD_SYNC : CMD_ASYNC, 602 .flags = init ? 0 : CMD_ASYNC,
603 .data = { lq, }, 603 .data = { lq, },
604 }; 604 };
605 605