WLAN_CRYPTO_RSN_CAP_OCV_SUPPORTED i.e. 0x4000 bit in RSN capability
is set to 1 to indicate that the STA supports operating channel
validation by including Operating Channel Information (OCI) in RSNA
exchanges and validates the information when received from another
STA that indicated this capability.
Change-Id: I8cbe640772c95573461ef2ef54c9e86778fe970f
CRs-Fixed: 2765802
This change allow Tx VDEV of MBSS mode to configured
dynamically by reset the VDEVs.
This change includes FW service bit parsing, checking
VDEV state of all VDEVs, sending MBSS information in
VDEV start command
Change-Id: I46b13629bd1c07be86b408d72c2967642ce8542e
CRs-Fixed: 2759229
Add support to handle the case where the peer transmits a frame
with HT/VHT/HE control field included.
Change-Id: I2b0d04ffa12a983a6c22e0a0bcbdfffa8fd48dcb
CRs-fixed: 2754234
When get vdev by opmode from psoc, objmgr will return vdev without
getting reference if vdev list isn't null and no matched vdev with
opmode.
Change-Id: I1bb29f074155a40c38a21a9f0534d5f756862031
CRs-Fixed: 2758693
Remove unnecessary assignment in wlan_serialization_destroy_cmd_pool
to avoid false alarm in some static code analysis tool.
Change-Id: I6f53b9c44534dc6297cf872dce0a265e1696d90c
CRs-Fixed: 2751743
Add API to check if vdev is in INIT state.
Also add api to iterate vdev list and test/set flag if
vdev is in init state
Change-Id: Idfc4268fd166a583de45a0f166ff5d0ac8ec660e
CRs-Fixed: 2755257
Add pdev flags to indicate
1) scan radio support
2) DFS disable, This flag is valid only for a scan radio pdev.
CRs-Fixed: 2753799
Change-Id: I2e875b0233bd1c5bf5421821c35170f3412a582a
Replace the lim_default_hmac_sha256_kdf() & lim_create_fils_rik()
API with crypto API since both these API are primarily for
cryptographic derivation of re-authentication integrity key(rIK)
Use the new crypto APIs qdf_default_hmac_sha256_kdf(),
wlan_crypto_create_fils_rik() for this.
Change-Id: I1c8f38ee0124b8b3eb527d4b01d39add134e181b
CRs-Fixed: 2752635
Handle the assoc disallowed case in MBO OCE IE
and remove candidate from the candidate list.
Change-Id: Ieb5ebdd9528a3179a215dcd5ce8083178ab68ae8
CRs-Fixed: 2753508
Add HE capability IE parsing support to get NSS supported for
scan entry. Curreny only vht capability ie pasing suuport ie
is there. But in case of 6GHz band vht capability IE ont be
there and thus giving false NSS as 1.
Change-Id: Ie25d67d765c0880ed82df0b6cc2d047fe08adec0
CRs-Fixed: 2744234
Issue: Currently, host doesn't validate pkid_count
before populating data in rsn->pmkid. rsn->pmkid array
can store only 4/MAX_PMKID pmkids which may cause OOB
write if host tries to copy pmkids more than MAX_PMKID.
Fix: validate pkid_count before populating rsn->pmkid
and return Failure in case pkid_count becomes greater
than MAX_PMKID to avoid OOB.
Change-Id: I211ea791a52ecb84872d139929f999a89db240d5
CRs-Fixed: 2724407
Currently api osif_nl_to_crypto_auth_type is trying to convert
the nl specific auth types to driver specific auth types but
it does not return the correct value, this api always returns
auth type as none as it never updates the return value after
the initialization.
While parsing WPA and WAPI, open authmode and cipher and akm are
set as none by default.
Thus return converted value of the auth type. Also fix the
return type of the akm conversion. Also avoid setting
open authmode and cipher and akm as none while parsing WPA
and WAPI ie.
Change-Id: I260e58a28ddbf6b20a290488e205586a624c9b46
CRs-Fixed: 2725323
Add new scan type SCAN_FOR_CONNECT to support connection manager
infrastructure.
CRs-Fixed: 2713772
Change-Id: I631f3f0324e82ef6cd8b2befbed020649c80bc4c
There are different version of SSID structure used in driver, replace
them with struct wlan_ssid.
Also move struct element_info from scan module to generic structures.
Change-Id: Ia32f82d943980c23b4ff478f5a06c5c053036de5
CRs-Fixed: 2721872
In wlan_serialization_psoc_disable the timers are freed without
holding lock and at the same time the
wlan_serialization_cleanup_vdev_timers from vdev destroy handler
is accessing the timers, this result in cleanup_vdev_timers
accessing freed timer memory resulting in assert.
Fix is to free timer memory while holding timer lock. Also as the
lock can be used by vdev delete handler after freeing in
psoc_disable, move the init and deinit of the lock to psoc create
and destroy handlers respectively.
Change-Id: Idf822a91022de6b51c7ee1895f71b6fb94fedd72
CRs-Fixed: 2721064
This fixes a CFI failure in callback assignment.
Currently, the callbacks in scheduler_msg are void function
pointers. Update them to have a defined type as
scheduler_msg_process_fn_t to catch type mismatch during
compilation.
Other changes to conform to this new type include:
1. Cast callback to qdf_mc_timer_callback_t when
referencing, and back when assigning
2. Cast wlan_serialization_generic_timer_cb to
take fit into scheduler_msg
3. Cast target_if_vdev_mgr_rsp_timer_cb to fit
into scheduler_msg
Change-Id: I052bc54826d377ae92f5bcc80ca08afb6f5e01e3
CRs-fixed: 2719975
Remove cipher_caps from wlan_crypto_reset_prarams as it
is FW capability and should only be set once when vdev
is created.
Change-Id: I8beab7ead2217ead532bfaacc0eea133d90cdd0e
CRs-Fixed: 2716728
Adding support for iot_sim drop operation.
Drop operation will be handled in Rx direction.
Change-Id: If2e1c9663a69fcd16715cdd1d28639a388ea1c0c
CRs-Fixed: 2686309
As part of activation of pending cmds after removal of a blocking cmd,
we iterate over the pdev pending list until the queue size and move
non-scan pending cmd to active queue and go to the head of the queue
in the next iteration.
Since we start from head of queue with decreased queue size value, the
last few cmds in the pending is never iterated since queue size has
already reached zero leading to cmds left in pending queue forever.
Add change to restore pending node to previous node of the command that
is moved from pending queue.
Change-Id: If500906c853f21319c04a21c8c68690a71e51ec2
CRs-Fixed: 2713555
For wep mode, when key is received from cfg80211, wlan_crypto_save_key
is called to save the key, then wlan_crypto_default_key is called to
save default key id.
key should be valid when save default key id.
set key as valid after wlan_crypto_save_key
Change-Id: Ic13e311593154911ee21db5172188c7037f429a3
CRs-Fixed: 2654882
Currently, size of the array to return dbgids in string format is
not specified explicitly. This array is expected to be updated
with the corresponding string when a dbgid is added in the
enum wlan_objmgr_ref_dbgid. Any miss in the updation would lead
to array out of bound access as the API string_from_dbgid()
tries get string corresponds to the newly added dbgid also.
Specify the maximum possible size as WLAN_REF_ID_MAX explicitly,
so that it returns "null" if the string corresponds a dbgid
is not defined.
Return the string only if the id matches or return "Unknown".
Change-Id: I1c835b8e9d681bf23f1bce866aa523cb41b9a134
CRs-Fixed: 2702696
While printing the serialization pdev queue, we are not
printing the VDEV id.
Add VDEV id while printing the serialization pdev queues
Change-Id: Ie6ecbf36da3026550fbe54137c546cf8bd7940e4
CRs-Fixed: 2703604
Currently, for action code MCSC RSP frame type is updated to
MGMT_FRM_UNSPECIFIED and is not received by framework.
Fix is to update frame type to MGMT_ACTION_MCSC_RSP, so that framework
can receive MCSC packets in case of action type MCSC_RSP.
Change-Id: I81f107558959dcf1c4967e677d6e1ba3d71e3596
CRs-Fixed: 2707310
Revert the change for wlan_serialization_generic_timer_cb
from change I760b41b81c006187efb162d410390e1c11878b82.
The change introduced a CFI error because timer callbacks
do not expect a return status.
Change-Id: Iebb17fb82c5b3d4b1393e2b3417c766d118c0674
CRs-fixed: 2687777
Add support to populate 11AX wireless modes advetised in ext2 service
ready message. To support older FW that do not advertise this, use
existing host workaround to populate these in host itself.
Change-Id: I3b3b280672592c858bd3f6f0e368909a16bd30ee
CRs-Fixed: 2650136
In struct weight_config, "oce_subnet_id_weightage" added newly.
Station uses "oce_subnet_id_weightage" as one of the parameter for
selecting AP candidate during initial connection. Host sends
"oce_subnet_id_weightage" ini value to firmware over WMI command
WMI_ROAM_AP_PROFILE.
Add oce_subnet_id_weightage in scan object scoring param to calculate
weightage based on SUBNET ID and select candidate accordingly.
Change-Id: I6583f46f661eaefabbad858bc7fb34e37443ebae
CRs-Fixed: 2675924
Due to commit : I83e8d4c0c8b3ad503aa5894ffdc4a14bc3aeec7a,
while processing set_del_pmk command driver checks pmk_len
to delete pmk. In case if new PMK gets added with 0 lengths,
pmk entry with pmk_len = 0 will never be deleted. It is only
overwritten without freeing due to incorrect logic set_del
pmk logic.
Fix is to modify set and del pmk logic to avoid mem leak.
Change-Id: Idff573d020940dd926d07e1ec4f146eaa1215686
CRs-Fixed: 2696207
Currently only atmost 3 PMK Cache entries are allowed in Host,
which is not equivalent to that of Firmware, as upto 16 max PMK
cache entries are allowed in Firmware.
This change is to support upto 16 PMKID entries in driver as well
Change-Id: I383ca79e284de4913197ca4afec317e8669edd86
CRs-Fixed: 2689482
Replace the implementation of checking bitmap status with a
standard API qdf_bitmap_empty
Change-Id: I22ee8c25c1d911f65ba4bfe235557444e6333ca4
CRs-Fixed: 2690914
Add change to define restart bitmap using the generalized bitmap
declaration. Also use generalized function to check if any of the
bits are set in the bitmap.
Change-Id: Ibfc48ef10fe9afcaefa16ef429ef9903343afe24
CRs-Fixed: 2674483
The current bitmap used for vdevs in psoc is a two element
array of 32bit, thus supporting upto 64 bits bitmap.
In certain feature of AP use cases, there could be more
than 64 vdevs of multiple radios of a psoc, so the current
bitmap would not suffice.
Use the qdf_bitmap to define bitmap based on the max vdevs
supported by a psoc, which could be defined to higher value than
64 if a given AP feature is enabled.
CRs-Fixed: 2678131
Change-Id: Icd72f8dbe4654180dab993e3ce35d886c9e6ca43
Avoid inclusion of wlan_lmac_if_def headerfile in
wlan_objmgr_psoc_obj.h which led to inclusion of several
other components header files, so handling dependencies by
adding a forward declaration.
Change-Id: I9ad231152789a1d8d9c01fd772abe4a8b06ad0b4
Currently when supplicant sends set_pmkid_cache (Either after
initial connection or after session timeout with AP) to host to
set the new pmkid derived after the EAP is done. Host deletes
PMK entry only if bssid/ssid matches.
For OKC, the PMK derived from the initially associated AP will
be used for deriving PMKID for all APs. In case of connection with OKC
supported APs, If STA receive session timeout from AP, HOST should
delete older PMK of all APs which have the same PMK. Else While
roaming HOST could send older PMK to OKC supported AP and this
results PMK flush in FW and leads to full EAP.
Change-Id: I83e8d4c0c8b3ad503aa5894ffdc4a14bc3aeec7a
CRs-Fixed: 2679749
Usage of %p instead of %pK can lead to info leak, so use %pK uppercase
K instead of k.
Change-Id: Ie4f51e053ed28045b9920f274baebef0233f070e
CRs-Fixed: 2677374
Enhanced Multi-BSSID Advertisement is an enhancement to the
existing Multi-BSSID feature in terms of advertising
non-transmitted bssid profile using the transmitted bssid
beacon. Mandatory inclusion of RNR IE in lower-band AP
beacon to support Out-of-Band Advertisement of colocated
6Ghz AP may impose limitation in the beacon size. EMA AP
provides a standardized way of overcoming such a limitation
Relevant UMAC changes are:
1. Add fw_caps_ext support bit WLAN_SOC_CEXT_EMA_AP
2. Add vdev_control_flag WLAN_VDEV_MLME_FLAGS_EMA_MODE
3. Support of 32-bit ema_params in beacon_tmpl_params.
The 4 octets in this param field will respectively
indicate ema_beacon_profile_periodicity, ema_beacon_tmpl_idx,
ema_first_tmpl and ema_last_tmpl in the order of low to high
CRs-fixed: 2677701
Change-Id: I3d96fd3becd7609abb2529f977362bfa5401d600