diff options
author | Avraham Stern <avraham.stern@intel.com> | 2023-04-18 12:28:11 +0300 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2023-04-20 11:45:55 +0200 |
commit | 0d2558838ee815540eb89feb9a468cb88b189661 (patch) | |
tree | 2f913da487b7757d308e0248a14a690a4671134a /drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c | |
parent | 0120e6b3e33dac3d0812ed93677d872e00dd4564 (diff) | |
download | linux-0d2558838ee815540eb89feb9a468cb88b189661.tar.gz linux-0d2558838ee815540eb89feb9a468cb88b189661.tar.bz2 linux-0d2558838ee815540eb89feb9a468cb88b189661.zip |
wifi: iwlwifi: modify scan request and results when in link protection
When CSME is connected and has link protection set, the driver must
connect to the same AP CSME is connected to.
When in link protection, modify scan request parameters to include
only the channel of the AP CSME is connected to and scan for the
same SSID. In addition, filter the scan results to include only
results from the same AP. This will make sure the driver will connect
to the same AP and will do it fast enough to keep the session alive.
Signed-off-by: Avraham Stern <avraham.stern@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230418122405.c1b55de3d704.I3895eebe18b3b672607695c887d728e113fc85ec@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c')
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c index 542f6658f2d4..e1d02c260e69 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c @@ -2588,10 +2588,10 @@ void iwl_mvm_rx_mpdu_mq(struct iwl_mvm *mvm, struct napi_struct *napi, } if (!iwl_mvm_reorder(mvm, napi, queue, sta, skb, desc) && - likely(!iwl_mvm_time_sync_frame(mvm, skb, hdr->addr2))) + likely(!iwl_mvm_time_sync_frame(mvm, skb, hdr->addr2)) && + likely(!iwl_mvm_mei_filter_scan(mvm, skb))) iwl_mvm_pass_packet_to_mac80211(mvm, napi, skb, queue, sta, link_sta); - out: rcu_read_unlock(); } |