|
|
@@ -1448,3 +1448,23 @@ int iwl_mvm_rx_eosp_notif(struct iwl_mvm *mvm,
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
|
+
|
|
|
+void iwl_mvm_sta_modify_disable_tx(struct iwl_mvm *mvm,
|
|
|
+ struct iwl_mvm_sta *mvmsta, bool disable)
|
|
|
+{
|
|
|
+ struct iwl_mvm_add_sta_cmd cmd = {
|
|
|
+ .add_modify = STA_MODE_MODIFY,
|
|
|
+ .sta_id = mvmsta->sta_id,
|
|
|
+ .station_flags = disable ? cpu_to_le32(STA_FLG_DISABLE_TX) : 0,
|
|
|
+ .station_flags_msk = cpu_to_le32(STA_FLG_DISABLE_TX),
|
|
|
+ .mac_id_n_color = cpu_to_le32(mvmsta->mac_id_n_color),
|
|
|
+ };
|
|
|
+ int ret;
|
|
|
+
|
|
|
+ if (!(mvm->fw->ucode_capa.api[0] & IWL_UCODE_TLV_API_DISABLE_STA_TX))
|
|
|
+ return;
|
|
|
+
|
|
|
+ ret = iwl_mvm_send_cmd_pdu(mvm, ADD_STA, CMD_ASYNC, sizeof(cmd), &cmd);
|
|
|
+ if (ret)
|
|
|
+ IWL_ERR(mvm, "Failed to send ADD_STA command (%d)\n", ret);
|
|
|
+}
|