wifi: iwlwifi: mvm: support ROC command version 6
This was suppsed to be supported only in iwlmld, but turns out that it will be needed also in iwlmvm. Add support for it. Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Link: https://patch.msgid.link/20250430155443.d118ee63aca4.I12ea349ca6587d8ea606f6ece4a9f3c0c2bb1494@changeid
This commit is contained in:
@@ -771,15 +771,17 @@ static void iwl_mvm_cancel_session_protection(struct iwl_mvm *mvm,
|
||||
|
||||
static void iwl_mvm_roc_rm_cmd(struct iwl_mvm *mvm, u32 activity)
|
||||
{
|
||||
struct iwl_roc_req_v5 roc_cmd = {
|
||||
struct iwl_roc_req roc_cmd = {
|
||||
.action = cpu_to_le32(FW_CTXT_ACTION_REMOVE),
|
||||
.activity = cpu_to_le32(activity),
|
||||
};
|
||||
u8 ver = iwl_fw_lookup_cmd_ver(mvm->fw, WIDE_ID(MAC_CONF_GROUP, ROC_CMD), 0);
|
||||
u16 cmd_len = ver < 6 ? sizeof(struct iwl_roc_req_v5) : sizeof(roc_cmd);
|
||||
int ret;
|
||||
|
||||
lockdep_assert_held(&mvm->mutex);
|
||||
ret = iwl_mvm_send_cmd_pdu(mvm, WIDE_ID(MAC_CONF_GROUP, ROC_CMD), 0,
|
||||
sizeof(roc_cmd), &roc_cmd);
|
||||
cmd_len, &roc_cmd);
|
||||
if (ret)
|
||||
IWL_ERR(mvm, "Couldn't send the ROC_CMD: %d\n", ret);
|
||||
}
|
||||
@@ -1102,11 +1104,13 @@ int iwl_mvm_roc_add_cmd(struct iwl_mvm *mvm,
|
||||
{
|
||||
int res;
|
||||
u32 duration_tu, delay;
|
||||
struct iwl_roc_req_v5 roc_req = {
|
||||
struct iwl_roc_req roc_req = {
|
||||
.action = cpu_to_le32(FW_CTXT_ACTION_ADD),
|
||||
.activity = cpu_to_le32(activity),
|
||||
.sta_id = cpu_to_le32(mvm->aux_sta.sta_id),
|
||||
};
|
||||
u8 ver = iwl_fw_lookup_cmd_ver(mvm->fw, WIDE_ID(MAC_CONF_GROUP, ROC_CMD), 0);
|
||||
u16 cmd_len = ver < 6 ? sizeof(struct iwl_roc_req_v5) : sizeof(roc_req);
|
||||
struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif);
|
||||
|
||||
lockdep_assert_held(&mvm->mutex);
|
||||
@@ -1136,7 +1140,7 @@ int iwl_mvm_roc_add_cmd(struct iwl_mvm *mvm,
|
||||
memcpy(roc_req.node_addr, vif->addr, ETH_ALEN);
|
||||
|
||||
res = iwl_mvm_send_cmd_pdu(mvm, WIDE_ID(MAC_CONF_GROUP, ROC_CMD),
|
||||
0, sizeof(roc_req), &roc_req);
|
||||
0, cmd_len, &roc_req);
|
||||
if (!res)
|
||||
mvmvif->roc_activity = activity;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user