Roam offload init command should be sent to firmware only
for STA mode. For P2P vdev, if roam init command is sent,
it causes abnormal target behavior.
Don't send roam init command if the vdev opmode is not
Station.
Change-Id: I0bfc3c6b4bc2eef7459b092101bc4d72c68761e5
CRs-Fixed: 2924563
1. Currently, the same twt enable api hdd_send_twt_enable_cmd()
sends to firmware for both requestor and responder role.
2. When firmware receives enable command, it will be busy to
handle that command. If any back to back enable command, it can
lead to some issues.
As part of this change, decouple enable api based on requestor
and responder role as per below:
for requestor: hdd_send_twt_requestor_enable_cmd()
for responder: hdd_send_twt_responder_enable_cmd()
Synchronize twt enable command to avoid back to back command
issue.
Change-Id: I3d3840740fee7413d6123ece919c42558e9b35d1
CRs-Fixed: 2937540
Currently there is no support to enable NAN on indoor channels,
as per the new requirement add an ini support to enable NAN on
indoor channels.
Change-Id: Ia3acbc133cab4865d8ad69992e893be91439f50f
CRs-Fixed: 2943668
Currently, reg_wifi_band enum is compared with
enum band_info. different values may lead to
invalid chan mode.
Fix is to compare reg_wifi_band with reg_wifi_band
enum value only.
Change-Id: Ibbe83ab5a8a428528bbeb28c941552a6f412a844
CRs-Fixed: 2949501
If HO fail/ roam abort is received without any roam start indication
the roam command will not be present in connection manager, so
continue with cleanup even when roam command is not present in these
cases.
Change-Id: I0ff3307b4d4ba96cc3b0c413fd0a41be47e9c588
CRs-Fixed: 2948064
Add support for TWT get_status command in SAP
As part of this change, TWT get_status command is supported
if
1. If particular dialog_id and particular mac_addr are
present
2. If dialog_id = 0 and particular mac_addr are present
3. If no parameter present
Change-Id: I5ce1719da7f9a3988ba6e1f04455a06faf9687c6
CRs-Fixed: 2937999
Reset iface_context to NULL if max IPA interfaces reached to avoid to
cleanup the wrong interface context when setup IPA interface failure.
Change-Id: I2f19d62b9f76f826c2275a0d889b5f5a0a48a01f
CRs-Fixed: 2931966
Fill he and vht parameters in data tx and rx packets for packet
capture mode to update in radio tap header.
Change-Id: I229fc41657456b9ab5d8a2dfce1cdd039b624fcb
CRs-Fixed: 2942108
Currently centre frequency filled in data rx packets for packet
capture mode. Need to fill base frequency so filling frequency
from connection policy manager.
Change-Id: I79abe4e8a27a853c156eff8618be2f280fc54e78
CRs-Fixed: 2942107
When updating the scan filter with valid channels, refer to the MLME
channel list instead of the policy manager list. The policy manager list
is used mainly for SAP related APIs.
Change-Id: I5530e5bcfd6b5c04063d7530fbc996ffca91df3f
CRs-fixed: 2946365
In any start BSS or ACS related function, change the calls to regulatory
to access the secondary channel list instead. This list will hold the
VLP channels specifically for any beaconing modes. This allows a client
and an AP to operate simultaneously on different power modes.
Change-Id: Ic06b408ebcc78292d84f1f035c00bf39a23de3ca
CRs-fixed: 2944484
When vht cap indicates the vht max MPDU size >= 7991 supported,
ht cap A-MSDU length field should indicate 7935 octets
supported according to 80211 specification.
At present no WMI HT cap defined for ht cap A-MSDU length field
from target.
Fix the issue by override ht amsdu len to 1 if vht max mpdu
len >= 7991 supported by target.
Change-Id: I9d2b8c11e7a27e016f618c1a2c8a380d081a6ba7
CRs-Fixed: 2929148
Sometimes we need PDEV suspend mode, WMI_PDEV_SUSPEND_CMDID and
WMI_PDEV_RESUME_CMDID. But currently design, only support WoW
suspend or not support two choices. And, there are two confused
ini configuration, gDisableWow and gEnableWoW.
1. Add new ini gSuspendMode to set suspend mode. Default 2.
0, does not support suspend
1, legency pdev suspend mode
2, WoW suspend mode
2. Clean gDisableWow. It is replaced by gSuspendMode=0.
HDD suspend/resume function get the value by new API
ucfg_pmo_get_suspend_mode().
Change-Id: Icbeef3df6879ca2054f64e0292e9b9469c4936d4
CRs-fixed: 2940788
The INI skip_tpe_consideration when set, skips power from AP's
TPE IE in TPC power calculation for 2.4G/5G case. Enable this
INI by default since APs advertise low TPE powers for IoT, thus
lowering overall TPC power.
Change-Id: I6c07bbd684579c2fa3617e49d76c75b5bf3f2815
CRs-Fixed: 2941630
Drop non-EAPOL/WAPI frames from unauthorized peer received
in the IPA exception path.
Change-Id: I0c0bc6e60efa193126ba1e3eca36c5e02f7f76a3
CRs-Fixed: 2860206
During DUT STA Rx over IPA, qdf_spin_unlock_bh is called as following.
__wlan_ipa_w2i_cb
->wlan_ipa_rx_intrabss_fwd
->cdp_ipa_rx_intrabss_fwd
->dp_ipa_rx_intrabss_fwd
->dp_vdev_get_ref_by_id
->qdf_spin_unlock_bh
netif_rx will raise NET_RX_SOFTIRQ in enqueue_to_backlog->
____napi_schedule even NAPI not enabled.
spin_unlock_bh will call do_softirq to execute NET_RX if NET_RX_SOFTIRQ
is raised.
If qdf_spin_unlock_bh is called in wlan_ipa_w2i_cb, once 1 skb received,
netif_rx is called, and NET_RX_SOFTIRQ and APP like iperf is scheduled,
too much context switch happens, CPU and power is wasted, Rx throughput
KPI failed on mdm platform which only has single 1.2G-1.5G CPU.
Fix it by avoiding intra bss forwarding for adapter in sta mode.
Change-Id: I264b14120b9998a56f6c1978f5a890615e6f837c
CRs-Fixed: 2915691
At present LTE unsafe channel switch and DCS is using
hdd_switch_sap_channel to switch channel of SAP.
hdd_switch_sap_channel has no bw setting parameters and just
use the original bw of SAP - ch_width_orig. The ch_width_orig
(80Mhz) may not be applicable if SAP is channel switching from
5G 80Mhz to 2G. Use the new API wlan_get_ap_prefer_conc_ch_params
to override the bw to appropriate value for the new channel.
Change-Id: I9ab6c92a0534517c524bd56b0c3087d7f75f6368
CRs-Fixed: 2939654
Reset the value of static variable rssi_comb to zero when
last mpdu of ppdu is received in packet capture mode.
Change-Id: Ida76dfb9c98a8e2718844f890e0303802db5bbed
CRs-Fixed: 2940871
Currently, TSO frames are not handled in packet capture mode.
Add support to handle TSO frames.
Change-Id: Ib901defcd369b01a33c87ca888ad80fe5fd086c7
CRs-Fixed: 2932138
Register for management control frames with the mgmt txrx
component in packet capture mode.
Change-Id: Ibaa20e00753cdeb6a15a79bd458166b47652cdb5
CRs-Fixed: 2932144
Add gConfigBleScanCoexPolicy which can be used to
control performance of ble scan case.
’0’ to place more emphasis on BLE Scan results
‘1’ to place more emphasis on WLAN performance
Change-Id: I46c735d8695523d14f6372bc5e47d1d1f51589ae
CRs-Fixed: 2935051
New checks have been added in userspace to verify the 6GHz HE
capabilities before allowing the connection. These capabilities
are not currently being shared by host. Add logic to send the
6GHz HE capabilities to userspace.
Also, add APIs to get capabilities from MLME component.
Change-Id: I3d2bbe0d87be6094b6fc74ce01d0e418873cbc6f
CRs-fixed: 2931130
In roam sync handling, pmksa memory is freed right after
set pmka entry is updated in crypto priv params instead
allocate separate buffer for crypto.
Change-Id: I337efcb29d2233b016f93cae7f4f23d3203786a6
CRs-Fixed: 2931162
HIF PM link state is used to indicate bus is alive or not. This
indicates RING HP/TP updating directly or using async method.In
RTPM suspend failure flow, CLD reject RTPM suspent request, but
state is not resumed correctly.
Change-Id: I3b96dc1fb34e2810d721e1fcb4db609a3d1d684d
CRs-Fixed: 2919930
If the retry count is more than zero then set the retry flag in
frame control of tx data packets in packet capture mode.
Change-Id: Ie1ecfc30c30946d97c92ee2612c825f8d3539f25
CRs-Fixed: 2932130
Merge the bandwidth selection of the two API
wlansap_get_csa_chanwidth_from_phymode &
wlan_sap_get_concurrent.
Update 5G Force SCC target Max BW selection for dbs hw:
1. Max BW 80Mhz if sta_sap_scc_on_dfs_chan = 1 and Single SAP
2. Max BW 80Mhz if sta_sap_scc_on_dfs_chan = 0 and STA+SAP SCC
3. other case use User configured BW
The above Max BW value will be limited by SAP user configured
BW at the end.
Change-Id: I1b165d1411288ca6845f90103adbf8bbfc34f67d
CRs-Fixed: 2925750
Transmit count received in tx completion status includes the success
transmission also, so retry count will be one less than transmit
count.
Change-Id: I81a06d4800b2f1015e618938229b7d7abfe5ed2e
CRs-Fixed: 2932141
Currently, module 'm' is converted to 'y' in QGKI when
compiling. In Waipio, GKI2 is present in which 'm'
is not being converted and hence IPA_OFFLOAD is not enabled.
To fix this, checking if CONFIG_IPA3 is either set to y or m
and then enabling CONFIG_IPA_OFFLOAD.
From Kernel 5.10, few IPA functions are depreciated for which
putting the depreciated functions under kernel check condition.
Change-Id: Iba3735692267130b76a8eaaaeeb53c263f8f0ddf
CRs-Fixed: 2921600
Currently, the value of the nss is filled wrong in radiotap
header of rx data packets received in packet capture mode.
Fix the nss value in rx status in packet capture mode.
Change-Id: I15ceb16869aa15a2191f25feb3ef56625435fe4c
CRs-Fixed: 2932135
When the AP channel is changed, fw reports a suitable AP.
But it's skipped by host as it has same bssid as the one
currently associated. The same process repeats continually,
which result in fail to reconnect with the AP. To avoid this,
send BMISS indication to upper layer and restart roam.
Change-Id: Idfcb69f81ce72a4ab7ef0c105f3af40cb92c53d5
CRs-Fixed: 2913663
As part of 320MHz bandwidth support for 11BE, add 320MHz
bandwidth conversion used internally in policy manager.
Change-Id: I25cf3e171249ae6c45988d3d9cdd5225a2000178
CRs-Fixed: 2934783
Sometimes, the AP sends low values in the TPE IE resulting in low TX
power. This causes DUT to have throughput/connection issues. Add an INI
to skip over TPE IE only in 2g/5g case. TPE IE will always be considered
in 6G band.
Change-Id: Ia0750195bb0aabf304743e1ad89c8f6d0c9ef1a3
CRs-fixed: 2936492
All msdus which are received as part of single ppdu will have same
ppdu_start. Firmware fills the ppdu_start tlv of only first mpdu.
So copy the rssi_comb from first mpdu's ppdu_start to all mpdus
which are part of single ppdu in rx desc of data packets.
Change-Id: I43465f072b653cd49f823b54d43f64b2a7afd11f
CRs-Fixed: 2895155
Consider two APs: AP1, AP2
Both APs configured with EAP 802.1x security mode
and OKC is enabled in both APs by default. Initially
DUT successfully associated with AP1, and generated
PMK1 by performing full EAP and added an entry for AP1
in pmk table. At this stage, pmk table has only one
entry for PMK1 (1. AP1-->PMK1).
Now DUT roams to AP2 using PMK1 (as OKC is enabled)
but session timeout happens on AP2 just before 4 way
handshake completion in FW. At this point of time DUT not
in authenticated state. Due to this DUT performs full EAP
with AP2 and generates PMK2. As there is no previous
entry of AP2 (AP2-->PMK1) in pmk table. When host gets
pmk delete command for BSSID of AP2, the BSSID match
fails. Hence host will not delete pmk entry of AP1 as well.
At this point of time, the PMK table has two entry
1. AP1-->PMK1 and 2. AP2 --> PMK2.
Ideally, if OKC is enabled then whenever timeout occurs in
a mobility domain, then the driver should clear all APs
cache entries related to that domain but as the BSSID
doesn't exist yet in the driver cache there is no way of
clearing the cache entries, without disturbing the legacy
roaming. Now security profile for both APs changed to FT-RSN.
DUT first disassociate with AP2 and successfully associated
with AP2 and perform full EAP and generates PMK3. DUT first
deletes PMK entry for AP2 and then adds a new entry for AP2.
At this point of time pmk table has two entry AP2--> PMK3
and AP1-->PMK1. Now DUT roamed to AP1 using
PMK3 but sends stale entry of AP1 (PMK1) to fw via RSO
command. This override PMK for both APs with PMK1
(as FW uses mlme session PMK for both APs in case of FT
roaming) and next time when FW try to roam to AP2 using
PMK1, AP2 rejects PMK1 (As AP2 is expecting PMK3) and
initiates full EAP with AP2, which is wrong.
Fix is to update pmk table entry for roamed AP1 with PMK3 value
comes to host via roam sync indication event.. By this host
override stale entry (if any) with the latest valid pmk for
that AP at a point of time.
Also add new api to get the sae single pmk ini value and
update the bss desc of single_pmk cap after intersecting the ini
value.
Change-Id: I12fecbae69d0d2a11f2a39eee6be960752d831bd
CRs-Fixed: 2889847
When starting SAP, the AP power type is decided based on certain
conditions. After turning off the SAP, the power type is no longer
valid, so reset it back to default.
Change-Id: I472da2e02b58017dab4855fc83cd4e15b24b7b08
CRs-fixed: 2934622
In case of STA + STA or STA + P2P CLIENT concurrency
in MCC, no need to update the beacon interval while
processing connection on the second interface.
Currently, the driver only bypass beacon interval
validation for P2P CLIENT connection in case of
STA + P2P CLIENT concurrency in MCC.
Fix is to bypass beacon interval validation for the
second sta connection so that connection can happen
in MCC for STA + STA.
Change-Id: I4c3f8b1ed0b22f809a291eb88dfd95255cebe5e2
CRs-Fixed: 2934503
Only send the VHT TX beamforming capability if firmware has set the
support bit. This helps ensure backward compatibility for older
products.
Change-Id: Ia5830c9f378e3f0ddc83c8019d5168a270ad6f69
CRs-fixed: 2933687