PMK stale entry will be updated in driver by framework after
disconnection with AP. Since there is no connected profile
in driver no MDID is associated. On new PMKSA addition in
driver it will check for cached entry based on MDID and
remove older one. This commit associates MDID to the cache
entry from the scan result if no connected profile is
present.
Change-Id: I9e8362387a53f622b9c52c4ba994939cabf244aa
CRs-Fixed: 3030376
If SAE/H2E required by hostapd configure, it must populate in
supported rate or extended support rate set, add host driver support
to check this flag and populate it in extended support rate set.
Change-Id: Id75b5743e93a1a0f1d13150d5436d256e2ca117c
CRs-Fixed: 3016492
ARP response dropped at OSIF due to non-availability
of sta entry with MLD address.
Added sta entry in OSIF/HDD context with MLD address.
Change-Id: Iff70197ca5707b88ea80b42a60a2b1fb383f00a9
CRs-Fixed: 3017249
Currently the PS config received from kernel/userspace is set
to mac_ctx globally. This causes PS config set for one vdev to
override on the other vdev.
To avoid this, set the PS config per vdev.
Change-Id: I6a2e2a9d8fb67b94d9d5f1d4164077990bdaf4a5
CRs-Fixed: 3007060
Add configuration support for broadcast TWT support and Rx control
frames to MultiBSS HE capabilities.
Change-Id: I2b3075a21c919c120e7a1ff674ac33fdd5d73801
CRs-Fixed: 2979513
If there is single chain support then driver should disable
beamformer instead of enable
As part of fix, check the number of chains by intersecting the
firmware capability and ini config. If it is 1 then set
su_bformer, mu_bformer and num_soundingdim as 0
Change-Id: I84434c741cbf774f368657b2c57668f6e7b99991
CRs-Fixed: 3003257
When TSPEC session is deleted, the access category of the data packets
should be downgraded to next lower AC. But this is not happening due to
acm mask is not getting updated when bss descriptor is NULL.
To fix this ssue, update acm mask from bss descriptor only when beacon
IEs are not present.
Also move qos related logic to LIM and bring missig changes which were
there before connection manager.
Change-Id: I9da80cf492b01762b4cc0a7b73271a0f5fe4b4a4
CRs-Fixed: 3011069
In OKC enabled cases, when multiple pmk entries exist, the user
space sends set_pmksa command for BSSID other than the connected
bssid. In that case driver updates the global pmksa cache with
the new PMK received for the non-connected BSSID. This results
in invalid pmk sent to firmware.
To avoid this, update the pmk cache only for connected BSSID.
Change-Id: I006595ea5b913d439007a8fb9d767454a71eeac1
CRs-Fixed: 2937182
In case if TWT command (i.e setup, terminate, pause, resume,
nudge) comes from userspace and if the firmware is in below mode
1. scan in progress
2. roam in progress
3. CSA is in progress
4. any other error
then the command needs to be rejected in userspace context
Synchronize the TWT commands so that whenever command goes from
driver to firmware, then driver will receive ack event first
followed by respective event (i.e add dialog, delete dialog,
pause, resume, nudge) with below condition
1. If driver receives the ack event as successful then driver
waits for this ack event, respective event with status of the
TWT action frame over the air is expected.
2. If driver receives the ack event as failure then it will
reject the TWT command request in userspace context.
Change-Id: Ib68b89b74b5e44f28106884efd7412cee49f5bd8
CRs-Fixed: 2987978
csr has a mac address field which is redundant, the same can be
retrieved from the vdev object.
Hence remove the mac address field from the csr and update the same
from the vdev object.
Change-Id: I948cf858ddb26795e236aa4099186e5d10f504a6
CRs-Fixed: 2990480
During FT-EAP roaming after session timeout if the FTIE received
in the EAPOL of full EAP is improper, the supplicant would
disconnect the AP with the reason FTIE mismatch.
During this disconnection supplicant flushes all the existing PMK
cache entries and eventually the framework would add these cache
entries again (apparently, the current entry would be with the
older PMK). On this addition to the driver, there is no connected
profile and thus no MDID is associated to this PMKSA entry(AP1-PMK1).
Further, on the fresh (Full EAP) connection to the AP2 with the
same MDID, a new cache entry gets added and thus MDID from the
connected profile gets associated with the PMKSA cache entry. At
this point of time, there are two PMKSA cache entries (AP1-PMK1
without MDID and AP2-PMK2 with MDID).
Adding further, if the incorrect PMK (without MDID / stale entry)
i.e. PMK1 is given to the firmware on the RSO command for the
specific BSSID (here AP1) during roam, further roams shall be
calculated with this PMK1 and result in to the invalid pmkid
issue.
Thus, avoid this situation by removing that stale PMKSA entry in
the driver and this entry can be deleted only when it is associated
with the MDID. Driver on the new pmksa addition shall check for the
matching pmksa cache entry with the MDID and delete the earlier ones.
To associate the MDID, this commit checks for the same from the scan
entry of the BSSID, if there is no connected profile for the same
(this happened when the framework has added the cache entry when in
the disconnected state).
Change-Id: If81d66059173dda8d7a2940ca10dc96ef16e125c
CRs-Fixed: 2972115
CSR/SME use connect/disconnect API as these were common between
STA/SAP/NDI, but as connection manager removed the STA related code
from SME/CSR, rename the functions to represent NDI/SAP start/stop.
Change-Id: I7875e163f1976627e521308813ad3e1ed279a906
CRs-Fixed: 2981040
The following vendor cmd can be used to set the
sw retry threshold per vdev for all AC:
Aggresive: QCA_WLAN_VENDOR_ATTR_CONFIG_AGG_RETRY
Non-Aggresive: QCA_WLAN_VENDOR_ATTR_CONFIG_NON_AGG_RETRY
Change-Id: I49d88ae1f3f6142d8a420fd92f6f40bf3aad03e6
CRs-Fixed: 2945913
Add new api sme_switch_channel(), which posts eWNI_SME_CSA_REQ
with specified parameters; set lim_handle_csa_offload_msg as the
handler for this new message.
Change-Id: Id015ac5f9f3674ff06d110f7a0dccd85364b3d86
CRs-Fixed: 2960191
Refactor csr_roam_pmkid_req_callback to use
mlme_cm_osif_pmksa_candidate_notify and move other
unused API under CM flag.
Change-Id: I835d54804f733eddff48de38e4c545a87f34bb30
CRs-Fixed: 2965602
TWT is allowed only in DBS/Standalone case and not in SCC/MCC.
Handle TWT if any session request comes in SCC/MCC or DBS case
as per below:
1. If TWT session request comes on standalone SAP then peer
client will initiate the session and not from userspace
(SAP DUT)
a. Send twt responder enable command and
b. Send twt requestor disable command to firmware
2. If session request comes on standalone STA then
a. Send twt requestor enable command and
b. Send twt responder disable command to firmware
3. If two vdevs are up and SCC/MCC exist
a. Send beacon template with twt responder disable command to
SAP vdev
b. Send twt requestor disable command to STA vdev
4. If two vdevs are up in case of DBS
a. Send requestor enable command for STA vdev
b. Send beacon template with responder enable command for SAP
vdev
5. If 3 port concurrency comes then
a. Send requestor disable command to STA vdev and
b. Send beacon template with responder disable command to SAP
vdev
Change-Id: I65994702bb72d5006bd66b2ef57a0704a67410f7
CRs-Fixed: 2938961
Currently when host receives power stats from fw, before
processing these stats it check for the hdd callback and
processes these stats only if hdd callback is registered.
This callback is checked in
wma_unified_power_debug_stats_event_handler function before
processing of the fw event and outside of any lock. After
processing stats, this hdd cb is invoked, there is an issue
with this approach that while processing these stats if timeout
happens in hdd then hdd sets its callback as NULL and now after
processing stats wma handler invokes this hdd cb which is already
NULL, leading to null pointer dereference.
To avoid above issue, add sme callback and move null check for
hdd cb and call to hdd cb inside sme lock which is the same lock
used while setting hdd cb to null on timeout.
Change-Id: I2203083a17ca3404c5c5af98ddc48ba127e6aee2
CRs-Fixed: 2950633
As part of 320MHz bandwidth support for 11BE, define an API
to get max supported EHT bandwidth in SME, which in turn gets
max BW from WMA layer.
Change-Id: Ifae397ec38cd89758215a9d09fe58a4d7afd22f4
CRs-Fixed: 2935861
Two new IE eht_op and eht_cap will be added for 11be.
Implement eht_op and eht_cap changes for sme layer.
Change-Id: If6d11e2cad2ff87ac82b07c7ecb9dd05ac53f0ee
CRs-Fixed: 2908058
1. If the TWT setup parameter re-negotiation results in failure,
then host driver shall trigger TWT teardown for the
existing TWT session.
2. Upon receiving the TWT teardown confirmation from the firmware,
host driver shall cleanup TWT session, send teardown notification
to the user space and ready for next TWT setup command.
Change-Id: I553ae7de8d900a3dc12d563b781f9fefa36f8a0b
CRs-Fixed: 2916548
BSS max idle testbed test requires to prevent the data and
manamenet response frame Tx with user configuration.
Add support to prevent data Tx and drop Rx mgmt frames so that
response frames is not sent.
Change-Id: I01f08fd8f30dc4b1b80801434918b976abb09e3c
CRs-Fixed: 2817703
Add change to support roam ho fail and roam invoke fail
indication in connection manager.
Change-Id: I8e4fed2ca4b9c6e95da86b0c37e39da8f2bc4953
CRs-Fixed: 2906319
Remove all of the conditional compilation for pmf since this
feature is mandatory for future scope from protocol point
of view.
Change-Id: Id3a2127e9ecb343ad2a0354dcbc331c22167d7fb
CRs-Fixed: 2852630
Add support to configure the HE ER SU for management frame tx
and configuration support to use RU 242 tone for data Tx.
Change-Id: I068c1e7b6808d430d5468bab7ee04e24d5461afd
CRs-Fixed: 2816797
Move prev ap info and connected bss in connection manager
macro in csr session.
Change-Id: Ie2b8ecdbcf7134f93f908ba596c0398712da7ac8
CRs-Fixed: 2895259
Fill operational and extended rates in LIM
instead of CSR as part of connection manager.
Change-Id: I9197e835703059d61bc67897a9670ff166460318
CRs-Fixed: 2892415