mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
iwlwifi: mvm: Fix channel switch for count 0 and 1
It was assumed that apply_time==0 implies immediate scheduling, which is
wrong. Instead, the fw expects the START_IMMEDIATELY flag to be set.
Otherwise, this resulted in 0x3063 assert.
Fix that.
While at it rename the T2_V2_START_IMMEDIATELY to
TE_V2_START_IMMEDIATELY.
Fixes: f5d8f50f27
("iwlwifi: mvm: Fix channel switch in case of count <= 1")
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
This commit is contained in:
parent
de04d4fbf8
commit
40d53f4a60
@ -211,7 +211,7 @@ enum {
|
||||
* @TE_V2_NOTIF_HOST_FRAG_END:request/receive notification on frag end
|
||||
* @TE_V2_NOTIF_INTERNAL_FRAG_START: internal FW use.
|
||||
* @TE_V2_NOTIF_INTERNAL_FRAG_END: internal FW use.
|
||||
* @T2_V2_START_IMMEDIATELY: start time event immediately
|
||||
* @TE_V2_START_IMMEDIATELY: start time event immediately
|
||||
* @TE_V2_DEP_OTHER: depends on another time event
|
||||
* @TE_V2_DEP_TSF: depends on a specific time
|
||||
* @TE_V2_EVENT_SOCIOPATHIC: can't co-exist with other events of tha same MAC
|
||||
@ -230,7 +230,7 @@ enum iwl_time_event_policy {
|
||||
TE_V2_NOTIF_HOST_FRAG_END = BIT(5),
|
||||
TE_V2_NOTIF_INTERNAL_FRAG_START = BIT(6),
|
||||
TE_V2_NOTIF_INTERNAL_FRAG_END = BIT(7),
|
||||
T2_V2_START_IMMEDIATELY = BIT(11),
|
||||
TE_V2_START_IMMEDIATELY = BIT(11),
|
||||
|
||||
/* placement characteristics */
|
||||
TE_V2_DEP_OTHER = BIT(TE_V2_PLACEMENT_POS),
|
||||
|
@ -616,7 +616,7 @@ void iwl_mvm_protect_session(struct iwl_mvm *mvm,
|
||||
time_cmd.repeat = 1;
|
||||
time_cmd.policy = cpu_to_le16(TE_V2_NOTIF_HOST_EVENT_START |
|
||||
TE_V2_NOTIF_HOST_EVENT_END |
|
||||
T2_V2_START_IMMEDIATELY);
|
||||
TE_V2_START_IMMEDIATELY);
|
||||
|
||||
if (!wait_for_notif) {
|
||||
iwl_mvm_time_event_send_add(mvm, vif, te_data, &time_cmd);
|
||||
@ -803,7 +803,7 @@ int iwl_mvm_start_p2p_roc(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
|
||||
time_cmd.repeat = 1;
|
||||
time_cmd.policy = cpu_to_le16(TE_V2_NOTIF_HOST_EVENT_START |
|
||||
TE_V2_NOTIF_HOST_EVENT_END |
|
||||
T2_V2_START_IMMEDIATELY);
|
||||
TE_V2_START_IMMEDIATELY);
|
||||
|
||||
return iwl_mvm_time_event_send_add(mvm, vif, te_data, &time_cmd);
|
||||
}
|
||||
@ -913,6 +913,8 @@ int iwl_mvm_schedule_csa_period(struct iwl_mvm *mvm,
|
||||
time_cmd.interval = cpu_to_le32(1);
|
||||
time_cmd.policy = cpu_to_le16(TE_V2_NOTIF_HOST_EVENT_START |
|
||||
TE_V2_ABSENCE);
|
||||
if (!apply_time)
|
||||
time_cmd.policy |= cpu_to_le16(TE_V2_START_IMMEDIATELY);
|
||||
|
||||
return iwl_mvm_time_event_send_add(mvm, vif, te_data, &time_cmd);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user