Commit 4e9a7215 authored by Shaul Triebitz's avatar Shaul Triebitz Committed by Johannes Berg

wifi: iwlwifi: mvm: fix the sta id in offload

With MLO, the station id in wowlan can be other than 0.
Set the correct station in the protocol offload command.
Signed-off-by: default avatarShaul Triebitz <shaul.triebitz@intel.com>
Signed-off-by: default avatarMiri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240311081938.ace4f793872d.Id984110576a72acc84493217ca95564c3cd362bd@changeidSigned-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent c1e458b9
...@@ -1152,7 +1152,8 @@ iwl_mvm_wowlan_config(struct iwl_mvm *mvm, ...@@ -1152,7 +1152,8 @@ iwl_mvm_wowlan_config(struct iwl_mvm *mvm,
if (ret) if (ret)
return ret; return ret;
return iwl_mvm_send_proto_offload(mvm, vif, false, true, 0); return iwl_mvm_send_proto_offload(mvm, vif, false, true, 0,
mvm_link->ap_sta_id);
} }
static int static int
......
...@@ -2112,7 +2112,8 @@ int iwl_mvm_send_proto_offload(struct iwl_mvm *mvm, ...@@ -2112,7 +2112,8 @@ int iwl_mvm_send_proto_offload(struct iwl_mvm *mvm,
struct ieee80211_vif *vif, struct ieee80211_vif *vif,
bool disable_offloading, bool disable_offloading,
bool offload_ns, bool offload_ns,
u32 cmd_flags); u32 cmd_flags,
u8 sta_id);
/* BT Coex */ /* BT Coex */
int iwl_mvm_send_bt_init_conf(struct iwl_mvm *mvm); int iwl_mvm_send_bt_init_conf(struct iwl_mvm *mvm);
......
// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
/* /*
* Copyright (C) 2012-2014, 2021-2022 Intel Corporation * Copyright (C) 2012-2014, 2021-2022, 2024 Intel Corporation
* Copyright (C) 2013-2014 Intel Mobile Communications GmbH * Copyright (C) 2013-2014 Intel Mobile Communications GmbH
* Copyright (C) 2015 Intel Deutschland GmbH * Copyright (C) 2015 Intel Deutschland GmbH
*/ */
...@@ -30,7 +30,8 @@ int iwl_mvm_send_proto_offload(struct iwl_mvm *mvm, ...@@ -30,7 +30,8 @@ int iwl_mvm_send_proto_offload(struct iwl_mvm *mvm,
struct ieee80211_vif *vif, struct ieee80211_vif *vif,
bool disable_offloading, bool disable_offloading,
bool offload_ns, bool offload_ns,
u32 cmd_flags) u32 cmd_flags,
u8 sta_id)
{ {
union { union {
struct iwl_proto_offload_cmd_v1 v1; struct iwl_proto_offload_cmd_v1 v1;
...@@ -205,6 +206,9 @@ int iwl_mvm_send_proto_offload(struct iwl_mvm *mvm, ...@@ -205,6 +206,9 @@ int iwl_mvm_send_proto_offload(struct iwl_mvm *mvm,
if (!disable_offloading) if (!disable_offloading)
common->enabled = cpu_to_le32(enabled); common->enabled = cpu_to_le32(enabled);
if (ver >= 4)
cmd.v4.sta_id = cpu_to_le32(sta_id);
hcmd.len[0] = size; hcmd.len[0] = size;
return iwl_mvm_send_cmd(mvm, &hcmd); return iwl_mvm_send_cmd(mvm, &hcmd);
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment