diff options
| author | Haim Dreyfuss <[email protected]> | 2023-05-31 16:49:59 +0000 |
|---|---|---|
| committer | Johannes Berg <[email protected]> | 2023-06-06 11:39:34 +0000 |
| commit | 3b67a20bb0cb9e2f03dbe0af2074b7f4aa5fa811 (patch) | |
| tree | 02a38a27dd089553713c509ba8291947221bcee6 /drivers/net/wireless/intel/iwlwifi/mvm/offloading.c | |
| parent | wifi: iwlwifi: do not log undefined DRAM buffers unnecessarily (diff) | |
| download | kernel-3b67a20bb0cb9e2f03dbe0af2074b7f4aa5fa811.tar.gz kernel-3b67a20bb0cb9e2f03dbe0af2074b7f4aa5fa811.zip | |
wifi: iwlwifi: mvm: offload BTM response during D3
There are mainly two types of BTM (BSS Transition Management)
requests, recommendations and notifications. For the first type,
a response is needed otherwise, most probably the STA will be
disconnected.
Since we don't want to wake up the host on it, set the BTM to reject
offload flag (if the device supports it) and rely on the FW to take
care of it. The FW will reject the BTM request and in case the AP
sends DEAUTH the FW can wake up the host to let it decide on the
next steps.
Signed-off-by: Haim Dreyfuss <[email protected]>
Signed-off-by: Gregory Greenman <[email protected]>
Link: https://lore.kernel.org/r/20230531194629.d95ae6f2804c.I9457acc55bc23ce715c714b5088058f52540c224@changeid
Signed-off-by: Johannes Berg <[email protected]>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/mvm/offloading.c')
| -rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/offloading.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/offloading.c b/drivers/net/wireless/intel/iwlwifi/mvm/offloading.c index a8bd0f5f795c..797b1f70937e 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/offloading.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/offloading.c @@ -198,6 +198,10 @@ int iwl_mvm_send_proto_offload(struct iwl_mvm *mvm, memcpy(common->arp_mac_addr, vif->addr, ETH_ALEN); } + if (fw_has_capa(&mvm->fw->ucode_capa, + IWL_UCODE_TLV_CAPA_OFFLOAD_REJ_BTM_SUPPORT)) + enabled |= IWL_D3_PROTO_REJECT_BTM; + if (!disable_offloading) common->enabled = cpu_to_le32(enabled); |
