Reset the HE capability data buffer after the 5 GHz HE capabilities
are configured to FW to fix the malformed data in 2.4 GHz HE
capability data.
Change-Id: I8147ffdae1990cf1997650f0790a27ccbb6ff1fe
CRs-Fixed: 3253505
Remove the MLO IE sent in connect request association request
data to avoid duplication.
Change-Id: Icccf378c05cd9509dfbb42d68a9859c9a0bb315a
CRs-Fixed: 3259650
When NAN is not supported on some target(disabled through ini
param gEnableNanSupport), there is no use of reserving vdev for
it in firmware though firmware advertises wmi_service_nan. Indicate
firmware that host is going to take care of the NAN vdev creation.
Host can use the vdev either for NAN or other operations
on need basis.
Change-Id: Iec106ceb80b80f03017a77036727b148845b64d5
CRs-Fixed: 3267080
Sometimes country change happened when driver is loading stage.
wlan_hdd_validate_context will return EAGAIN in such case and
cause country change work aborted. Reschedule country change work
in EAGAIN case so that country change work can be done.
Change-Id: I83efb6def92a2f3c2710df02f85383ccb20e89d2
CRs-Fixed: 3252694
Avoid code duplication by using common definitions
i.e use enum wlan_ml_linfo_subelementid.
Change-Id: Ib8ce8f5e84abe7a8d60ebc220610dcc60483bf81
CRs-Fixed: 3270765
In case of failure policy_mgr_is_restart_sap_required
returns without releasing the lock. This leads to lock leak.
Fix is to release the lock before return in case of failure.
Change-Id: I032a6902de1bd0c8f87b660aac98a2fb08dd3f10
CRs-Fixed: 3269538
Reinitialize mon_register_event before wait_for_completion
to make sure that it waits for fresh completion.
"done" variable in struct completion increments in
complete() API and decrements in wait_for_completion() API.
In wait_for_completion() API, if "done" value is 0 then
it will wait for the completion else it will continue without
waiting.
If reinitialization is not done, there is a possibility that
wait_for_completion() may continue without waiting.
Change-Id: I780103f551938438f27a11b006cc7c3e6edc6820
CRs-Fixed: 3251876
Currently, cap_mask contains the bitmap to check if any bits
other than SAE_H2E, SAE_PK, SECURE_LTF, SECURE_RTT,
PROT_RANGE_NEGOTIOATION are set in RSNXE capabilities.
But if the cap length is non-zero, the cap_mask wrongly indicates
that some bit is set in the capabilities other than the above
mentioned features as first 4-bits are used for length.
Skip validating the first 4-bits as these are reserved for
cap length.
Change-Id: I3736479e7c580425f8d340cb5bd815836c54d5ce
CRs-Fixed: 3270051
Multiple instances of the misspelling "recevied" are present, so
replace them with the correct spelling "received."
Change-Id: Ie0421bc472d5c25f1fbcc5e8c9333e0283a6e129
CRs-Fixed: 3271103
For non-dbs HW, per INI g_sta_sap_scc_on_dfs_chan description, standalone
SAP should be allowed to do channel switch when sta_sap_scc_on_dfs_chnl
is 0 or 2.
Change-Id: I380791debed79d4de6d468afe0c8956bf6f11ddb
CRs-Fixed: 3265470
Currently, HE cap uses the final cap derived from 2 GHz and
5 GHz specific HE caps, then the value of rx_pream_puncturing
in HE cap may not be expected when 5 GHz is used.
To resolve this issue, set rx_pream_puncturing if 5 GHz band
is used.
Change-Id: I81cb960271dff5007606a10cab8e9c78cbae58fb
CRs-Fixed: 3267557
Add os if layer for CoAP(Constrained Application Protocol)
component. It provides interfaces to parse netlink messages
for vendor command QCA_NL80211_VENDOR_SUBCMD_COAP_OFFLOAD
and take action accordingly, including enable/disable offload
reply/periodic transmitting for CoAP messages, and fetching
CoAP messages those cached during offload processing.
Change-Id: Ibbf9baf3802d305f9989e024ce764a6071b1fc6b
CRs-Fixed: 3254541
On some projects, LFR3 roaming is not supported due to
limitation of FW memory, thus, add support for WPA3 LFR2
roaming.
Change-Id: I80888049a243c0d37e08377d89a6aa44e75a8850
CRs-Fixed: 2973554
Currently, it DUT only supports one link,
lim_gen_link_specific_probe_rsp returns error. It causes
one link connection failure.
To resolve this issue, return success if DUT only supports
one link.
Change-Id: I9fcad7e82865ff6a4424ca74ea60f68e3a59ea21
CRs-Fixed: 3270226
If policy_mgr_is_concurrency_allowed is false, don't set
weighed_valid_list = WEIGHT_OF_NON_PCL_CHANNELS. Keep
WEIGHT_OF_DISALLOWED_CHANNELS for them so that the interface
won't start on disallowed channel. And in P2P+P2P or SAP+P2P
case strictly follow PCL weightage for second P2P interface.
Change-Id: I005e680e796269d3cd847b5df460506813d0d033
CRs-Fixed: 3265478
Send the failure response if the association response generation
is failed for link vdev to release the connect request command.
Change-Id: I0d05347c61cfd8fea90b23c3de6f0fb1ba7752d4
CRs-Fixed: 3253510
If the acs scan is optimized based on last scan ageout time,
it can lead to either skip ACS scan fully or scan partial
ACS frequency list. If ACS scan is skipped or partially
done, use a scan filter based on last scan ageout time to
retrieve the scan entries for ACS algorithm.
Change-Id: Id1d3a3d4364163686f92c380e9f6d6dada033ff5
CRs-Fixed: 3239389
In GO+STA+SAP concurrency, if GO is MCC with STA, the new SAP
will not be allowed in same MAC. FW doesn't support MCC in same
MAC for 3 or more vdevs. Move GO to other band to avoid SAP
starting failed.
Change-Id: Ia19abd1b11f7416797af3e975ab8ffde9037c11f
CRs-Fixed: 3262185
Currently wma_find_vdev_id_by_addr searches for the mac address of the
vdev there are some function which pass the mld address to this
utility api which is currently returning error.
Search with mld address alo in wma_find_vdev_id_by_addr.
Change-Id: I34ef8486a406cbaadbe95e5cb493bc5b0c8d8b0c
CRs-Fixed: 3270810
For 2.4 GHz band, if AP switches its BW from 40 MHz to 20 MHz, it
changes its beacon respectivily with ch_width 20 MHz without STA
disconnection.
This will result in TDLS remaining on 40 MHz and not follwoing APs BW
on 2.4 GHz.
Better Teardown the link here and with traffic going on between peers
the tdls connection will again be restablished with the new BW
Change-Id: I7f7b3cdc7937b2d4b78df46ca970fae22efc2ead
CRs-Fixed: 3243624
If SAP+P2P GO SCC on 2.4 GHz, the new STA interface will be
allowed connect to AP on 2.4 GHz SCC channel of SAP/GO or
5/6 GHz band AP. And do same for 5 GHz band.
For 3rd SAP/P2P GO coming up, try to force SCC to
existing same band SAP/GO home channel if any, to avoid the
concurrency check failure.
Change-Id: I363e9c8307ac4cfa70d6d00bc0d01a545c3eca26
CRs-Fixed: 3249205
As a part of eht cap pack and unpack, EHT MCS map (BW = 160 MHz)
is present only if B2 of the Supported Channel Width Set field
in the HE PHY capabilities information field is 1.
Change-Id: I24519b27e67219a9d4611636e2c02af4b82b17ec
CRs-Fixed: 3258157
Add concurrency conditions to reject TDLS setup if
along with BSS STA, any other iface is in connected state.
In case where supplicant directly sends TDLS setup without
adding peer or Discovery been rejected because of
concurrency, driver adds the peer and update fw with the
same using UPDATE_TDLS_PEER_STATE command. This results
in fw crash as TDLS state is not yet set.
This check is required because setp_peer shouldn't be
processed if any other interface such as SAP, P2P already
have started otherwise it will result in FW crash.
Change-Id: Ia0f1f099a5fb5be0c4875a38842d97070964aaa0
CRs-Fixed: 3263513
After SAP moved to 2.4 GHz HT 40 because of Radar detected in 5 GHz,
the REF STA send SA Query to SAP. But the REF STA disabled HT 40 in
2.4 GHz(channelBondingMode24GHz=0), the REF STA switched to HT 20.
The SA query OCI included op class 81 (20 MHz) from REF STA, the SAP
check OCI failure (SAP op class 84, 40 MHz) by lim_check_oci_match
and send deauth to REF STA.
lim_check_oci_match only check the op_class equal or not with received
OCI. If not equal, it will return false.
According OCI doc, local transmit BW is not allowed greater than BW
in OCI received from peer. Fix it by checking BW of local and peer
instead of op class only.
Change-Id: I62a477f8edabae31d07d6ec8ebb78ca76ca78792
CRs-Fixed: 3268105
Currently, ACS computation triggers when ACS scan complete event is
received after firmware has scanned all channels. This leads to
delay in selection on SAP channel.
As an optimization, this change selects the first clean channel
while scan is still in progress. The criteria for first clean channel
is that no beacon/probe response should be received on that channel.
If such channel is obtained while scan is in progress, then select this
channel as SAP channel and abort ongoing scan. Firmware sends
wma_chan_info_event per channel this change uses this event as an
indication that scan is completed on that channel.
To further increase the optimize the time to get clean channel, sort the
ACS frequency list in descending order in ACS SCAN request to
firmware. Firmware scans the channel in the order given by host
in scan request, as higher band channels are less occupied, the
probability of getting clean channel initially will increase, which
will lead to selecting the channel in less time and thereby reduce
the SAP turn on time.
Change-Id: I1a38556862b66943edea08783436f5e1e3a255f6
CRs-Fixed: 3245166
Currently channel info stats are stored in LIM. Refactor
code to store channel info stats in cp stats component.
Change-Id: I2e7219c112e96916d3b73f974dd9803b9c2821c3
CRs-Fixed: 3265722
Previously when chains of BT and WLAN 2.4 GHz are separated,
hybrid mode will be used for BTC. Now adding fixed FDD mode
to fulfill different BTC scenarios.
Change-Id: I3a4d6919319f0f66e6b816566f24f4ac11b2c669
CRs-Fixed: 3244045
Unencrypted DHCP frame is sent when add key is configured
on MLD address for secure MLO association.
In secure MLO assoication, configure add key on the link MAC
address.
Change-Id: Id1c953569a1f115beb5c0dcb816f08126901a05f
CRs-Fixed: 3270887
Populate HE 160 MCS rates even when session bandwidth is
320 MHz and peer supports 160 MHz BW.
Currently, HE 160 MCS map is populated only when session
bandwidth is 160 MHz, else it is reset. In the case of
11be SAP with 320 MHz support, HE 160 tx/rx MCS rates
must be updated with the intersection of self and peer
MCS rates, instead of HE_MCS_ALL_DISABLED.
Change-Id: I93d1d476c33aa98e96e76c2668f18456a9a874b9
CRs-Fixed: 3264361