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
Enable the history support to log Tx descriptors programmed
in Tx and completion HW rings.
Change-Id: I5ce308354714da78baa05500bc73e1a9ec91b958
CRs-Fixed: 2935363
Opportunistic timer gets triggered as soon as a DBS use case
is completed and hw_mode would be set to SMM when the
timer(5 seconds) expires.
Below is an example scenario,
1. DBS is enabled to support STA on 5GHz + SAP on 2.4GHz on
a Helium device.
2. SAP is disabled(to enable NAN as NAN+SAP is not supported on
HL platforms)
3. Opportunistic timer gets triggered with a timeout of 5 seconds
as DBS is not needed anymore.
4. Once the timer expires, WMI_PDEV_SET_HW_MODE_CMDID command
would be sent to firmware to set the hw_mode to SMM.
But if framework enables NAN immediately after disabling SAP,
firmware can't allow it as NAN is not supported in DBS mode in
Helium platforms. Thereby firmware either rejects the NAN enable
or defer it till set_hw_mode command is received(which introduces
a delay of 5 seconds as host sends it after timer expiry).
So, stop the timer and complete corresponding action when a NAN
command is received from framework to avoid this failure/delay.
Change-Id: I50521c0dd5f2314034957a0f65898c737cfe7e2e
CRs-Fixed: 2937407
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
Change I57acca2257a263225d9bafb0f94e195a99224a60 and
I7d247ae9fc83d7b578b01ec664247c807f7834fc add code in the non
connection manaeger part of the code which is not used now.
Thus move the logic in LIM for connection manager.
Change-Id: Iaa7c31ca9deb3dae9af1aa0161f0177b1b6d9f93
CRs-Fixed: 2939766
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
As part of 320MHz bandwidth support for 11BE, add 320MHz bandwidth
in WMA layer, where in particular set bw_320 to 1 in wma_send_peer_assoc
and populate ch_width to 320MHz in wma_update_channel_list.
Change-Id: I61793add8d86b0557bd4eed78233860e6ade1c18
CRs-Fixed: 2935851
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
In sap mode, he_mcs_12_13_map will leverage peer station's
capability in function lim_add_he_cap(), which result in
failure in disabling mcs12/13 via ini he_mcs_12_13_support
when peer sta take qcn IE in assoc req frame. To address this,
we should take intersection of fw cap for mcs12/13, which
has already done in function lim_intersect_sta_he_caps.
So don't overwrite he_mcs_12_13_map in lim_add_he_cap().
Change-Id: Ia8c1febbc0a6487140b3d2e9b1b5dfed46226098
CRs-Fixed: 2919083
As part of 320MHz bandwidth support for 11BE, add 320MHz
bandwidth conversion used internally in policy manager.
Change-Id: I25cf3e171249ae6c45988d3d9cdd5225a2000178
CRs-Fixed: 2934783
Update Link tx power with TPC power calculated in lim_calculate_tpc
everytime a radio measurement request is received.
Change-Id: Ie564fd13b071f0265c2a5c80088d5550e07395b3
CRs-Fixed: 2938684
Currently, do_acs may invoke wlan_hdd_set_acs_ch_range with
channel list count is 0. In case of SAP+SAP turned on non-dbs
hardware, Intersection of supported frequencies may become
zero and channel list count will become zero. while handling
0 channel list count in wlan_hdd_handle_zero_acs_list, if sta
count is 0 then channel list will not be updated to 1 which may
cause OOB issue while updating acs channel range.
Fix is to validate channel list count before populating acs
channel list.
Change-Id: Iffbe139748e76cd692e774e5f9db2c1c3d086332
CRs-Fixed: 2922790
Update peer HE capability in TDLS hash node only when 11ax
is supported in seflDot11mode capability.
Change-Id: Ia6776224ee91a6da2f0ba299b0fe5d46e241c093
CRs-Fixed: 2935305
When calculating the TX power, add a path to not consider the TPE IE
values in case of 2G/5G bands. If device is operating in 6G band,
include the TPE IE regardless of INI configuration.
Change-Id: If829318319e9b799c75a59ce3beed39bae5bffa2
CRs-fixed: 2936487
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
Currently, there is no log to differentiate whether
igmp offload is not supported by fw or ini is disabled.
Add log to check the ini support of igmp offload and
fw capability to handle igmp request.
Change-Id: I22f6f9f1d11da5e03aa8d3c7869b81fc1acc51d7
CRs-Fixed: 2936131
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
Update Link tx power with TPC power calculated in lim for
RRM scenario. In the legacy case (old FW), Link tx power
was calculated using lim_get_max_tx_power where as for
new FW, we get the power value from lim_calculate_tpc.
Change-Id: Id97f0cad00572180e3436142df9cf95e6d270d12
CRs-Fixed: 2937763
Fisa packet history is around 6KB for each sw fisa
flow entry and this is part of the dp_fisa_rx_sw_ft
structure. The total size of the SW FT as a result is
around 830KB and the higher order memory allocation via
kzalloc for this could fail in low/fragmented memory
scenarios.
Fix is to allocate memory for FISA pkt history separately
and attach it to the SW FT entry.
Change-Id: I7296d7269c1b86ec38ea1668e8a0893335bbdb6f
CRs-Fixed: 2934487
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
Mark rx and fisa history related allocations as non
critical for prealloc. This will ensure that prealloc
init can continue when memory alloc fails for the above
as these are only for debug purposes.
Change-Id: I94fc5c35a3a7a5dae3a4c97cf4ceca4eee7372ca
CRs-Fixed: 2936359