提交图

849 次代码提交

作者 SHA1 备注 提交日期
Abhishek Ambure
4d5fb39e3e qcacmn: Add support for ocv support in RSN capability
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
2020-08-31 03:32:38 -07:00
Sandeep Puligilla
00a2d6550f qcacmn: Add interface manager module
- Add interface manager module files
- Add start_connect event processing
- Add stubs for start_connect_complete and start_bss
event processing API's

Change-Id: I91a2bf38755abef38b6a9348d3eb69983217916c
CRs-Fixed: 2759226
2020-08-28 06:35:52 -07:00
Srinivas Pitla
bf0f1c90b3 qcacmn: Dynamic Tx VDEV config
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
2020-08-26 23:57:44 -07:00
Rhythm Patwa
360f0419df qcacmn: Add support to handle frames with HT/VHT/HE control field
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
2020-08-25 14:09:23 -07:00
Srinivas Girigowda
a4bf024bf1 qcacmn: umac: Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF
Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF.

CRs-Fixed: 2760938
Change-Id: I78b072b5cc623477135823512f9b8e7ef7ef4309
2020-08-23 23:09:36 -07:00
Wu Gao
a7bc8640bb qcacmn: Returns NULL if opmode mismatched when get vdev from psoc
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
2020-08-21 11:42:25 -07:00
Min Liu
d88847938b qcacmn: Code cleanup in wlan_serialization_destroy_cmd_pool
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
2020-08-21 02:28:51 -07:00
Himanshu Batra
486612addf qcacmn: Add timestamp info in Vdev SM history
Add timestamp info in Vdev SM history

Change-Id: I5c3c5da2e48fccc5f85802c9021bd060f940a243
CRs-Fixed: 2756819
2020-08-20 10:07:35 -07:00
Himanshu Batra
07d99bea43 qcacmn: Add API to check vdev INIT state
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
2020-08-14 12:34:48 -07:00
Edayilliam Jayadev
697ceba7e1 qcacmn: Add pdev flags related to scan radio
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
2020-08-13 22:06:07 -07:00
Pragaspathi Thilagaraj
0df12365ac qcacmn: Add FILS crypto API for rIK generation
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
2020-08-13 10:33:09 -07:00
Jianmin Zhu
71ab2b7021 qcacmn: Use after free in wlan_mgmt_txrx_psoc_obj_destroy_notification
Avoid use after free in wlan_mgmt_txrx_psoc_obj_destroy_notification.

Change-Id: Ia686792fe1014b9d7ee7177622d68443ecf2620e
CRs-Fixed: 2751958
2020-08-13 08:22:30 -07:00
gaurank kathpalia
1c65e1b75b qcacmn: Handle assoc disallowed in MBO OCE IE
Handle the assoc disallowed case in MBO OCE IE
and remove candidate from the candidate list.

Change-Id: Ieb5ebdd9528a3179a215dcd5ce8083178ab68ae8
CRs-Fixed: 2753508
2020-08-13 06:13:37 -07:00
gaurank kathpalia
bd6a237677 qcacmn: Serialize connect and disconnect request
Serialize connect and disconnect request in CM

Change-Id: I7eacafaf2fb1c71d7c42a493d4acb855f399c698
CRs-Fixed: 2750754
2020-08-11 16:08:09 -07:00
Venkateswara Swamy Bandaru
e45ec4e18d qcacmn: Add HE support for NSS parsing in scan entry
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
2020-08-11 11:52:50 -07:00
Gururaj Pandurangi
48e4e62dfa qcacmn: Reduce obj mgr log level to debug
Reduce object manager log level to debug
to avoid console lock and excessive logging

Change-Id: I7e008ccbfb425f0a88504a2d980a73bffa255cdf
CRs-Fixed: 2746992
2020-08-05 23:49:36 -07:00
Jayachandran Sreekumaran
d2c1b38caa qcacmn: Add support for frame delay operation
Add frame delay support for IOT Simulation.

Change-Id: I1ae2f681cde5d3e4092bf65a34f48290af6877d3
CRs-Fixed: 2734410
2020-07-31 09:53:57 -07:00
Abhishek Singh
0d404e731b qcacmn: Remove older scan filter params
Remove older unused scan filter params and code related to it.

Change-Id: I13293e047397efb2b857001391e1fc925e034532
CRs-Fixed: 2737908
2020-07-22 21:35:16 -07:00
sheenam monga
fe1e85068c qcacmn: Fix OOB issue in wlan_parse_rsn_ie
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
2020-07-10 07:45:46 -07:00
Pragaspathi Thilagaraj
81b14a586e qcacmn: Add API to get FILS pmksa entry cache id and SSID
Add new API to lookup the pmksa entry by fils cache id
and SSID.

Change-Id: I654d2b29b97a3b02ab6da7d2cfa0884bb8e5d2a1
CRs-Fixed: 2719643
2020-07-07 21:38:43 -07:00
Ashish Kumar Dhanotiya
eba983ed1e qcacmn: Fix return type of auth type and akm
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
2020-07-07 16:23:18 -07:00
Abhishek Singh
9cf786a2ab qcacmn: Use crypto APIs in scan filter
Use crypto APIs in scan filter to match the security.

Change-Id: I8b4d6f6085e3bfcdd8af2b4d9243c27e070cda78
CRs-Fixed: 2718079
2020-07-03 04:28:29 -07:00
Ashish Kumar Dhanotiya
737eb69429 qcacmn: Add new scan type SCAN_FOR_CONNECT for conn_manager infra
Add new scan type SCAN_FOR_CONNECT to support connection manager
infrastructure.

CRs-Fixed: 2713772
Change-Id: I631f3f0324e82ef6cd8b2befbed020649c80bc4c
2020-07-02 08:48:14 -07:00
Abhishek Singh
e2097ddb09 qcacmn: Replace different struct of SISD with struct wlan_ssid
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
2020-07-01 00:26:20 -07:00
Abhishek Singh
62fb09b241 qcacmn: Fix race between ser psoc close and vdev destroy handler
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
2020-06-30 02:34:01 -07:00
Lincoln Tran
a86b23ee68 qcacmn: Update scheduler_msg callback type
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
2020-06-27 06:18:28 -07:00
Utkarsh Bhatnagar
0b2b5e9e78 qcacmn: Don't reset cipher_caps in crypto_reset_prarams
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
2020-06-24 15:04:44 -07:00
nakul kachhwaha
89a67f807e qcacmn: iot_sim beacon content change update
Adding support for beacon content change.

Change-Id: I8f804dd7d2cbbe7d3b7dea58841d7321f28101c7
CRs-Fixed: 2694454
2020-06-24 03:35:01 -07:00
nakul kachhwaha
c5cdd1eaaf qcacmn: iot_sim add support for drop operation
Adding support for iot_sim drop operation.
Drop operation will be handled in Rx direction.

Change-Id: If2e1c9663a69fcd16715cdd1d28639a388ea1c0c
CRs-Fixed: 2686309
2020-06-24 03:34:57 -07:00
Jayachandran Sreekumaran
81b11d79c5 qcacmn: umac code clean up for iot_sim
Put iot_sim code under simulation feature flag.

Change-Id: Iccfb84c53172d5a4cccd00490d5720d99097401e
CRs-Fixed: 2707113
2020-06-24 03:34:51 -07:00
Santosh Anbu
5b4ee46d8e qcacmn: Check queue size of queue operation
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
2020-06-19 19:45:21 -07:00
bings
5ecc1e1ae8 qcacmn: set key as valid after wlan_crypto_save_key
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
2020-06-18 23:22:04 -07:00
Srinivas Dasari
cf645a8923 qcacmn: Specify the size of array dbgid-strings as WLAN_REF_ID_MAX
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
2020-06-18 05:47:35 -07:00
Vivek
80a5429aa1 qcacmn: Add vdev id when printing serialization pdev queue
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
2020-06-16 01:52:59 -07:00
sheenam monga
c070294c55 qcacmn: Don't update frame type to invalid for MCSC_RSP code
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
2020-06-10 18:13:51 -07:00
Lincoln Tran
e37321aa90 qcacmn: Revert wlan_serialization_generic_timer_cb
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
2020-06-09 12:28:18 -07:00
Shashikala Prabhu
a76f88adb8 qcacmn: Add support to populate target 11AX wireless modes
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
2020-06-08 18:37:03 -07:00
Abhishek Ambure
101c1fdeda qcacmn: Send oce_subnet_id_weightage_pcnt to firmware
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
2020-06-01 01:37:41 -07:00
Abhinav Kumar
5839296d1d qcacmn: Fix mem leak while deleting pmksa
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
2020-05-29 19:52:56 -07:00
Srikanth Marepalli
5c4527f338 qcacmn: Increase the PMKSA Cache entry size to 16 in host
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
2020-05-21 22:32:18 -07:00
Santosh Anbu
bfaf232db7 qcacmn: Use qdf_bitmap_empty to check bit status
Replace the implementation of checking bitmap status with a
standard API qdf_bitmap_empty

Change-Id: I22ee8c25c1d911f65ba4bfe235557444e6333ca4
CRs-Fixed: 2690914
2020-05-21 12:36:19 -07:00
Santosh Anbu
9e9e3c1719 qcacmn: Define restart bitmap using qdf_bitmap
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
2020-05-17 23:12:51 -07:00
Vivek
d73181f045 qcacmn: Use qdf_bitmap for vdev bitmap in psoc
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
2020-05-15 21:45:40 -07:00
Neha Bisht
4bda764146 qcacmn: remove dependency of public files from wlan_objmgr_psoc_obj.h
Remove dependency of wlan_lmac_if_def headerfiles from
wlan_objmgr_psoc_obj.h

Change-Id: Ibe2f22c4b4f22b15eef201d1a42844ccf2931fef
2020-05-15 10:41:50 -07:00
Neha Bisht
9e2bd0589d qcacmn: lmac header exclusion from wlan_objmgr_psoc_obj.h
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
2020-05-15 10:41:41 -07:00
Vulupala Shashank Reddy
f3d1f2a4be qcacmn: Delete older PMK of all APs which have the same PMK
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
2020-05-13 01:30:33 -07:00
Jayachandran Sreekumaran
d281143698 qcacmn: IOT simulation module api
IOT simulation module api registration with umac.

Change-Id: I6f11781f79d5fc9ea28be02470ba288cdcbaa257
CRs-Fixed: 2659680
2020-05-12 06:43:11 -07:00
nakul kachhwaha
861af9fad3 qcacmn: Add files for IOT Simulation module
Adding files to support IOT Simulation module

Change-Id: I3c145f43e846ae5db032df748943c4d0ff531585
CRs-Fixed: 2657904
2020-05-12 06:43:02 -07:00
Wu Gao
355b2b49bd qcacmn: Use %pK uppercase K instead of k in format specifier
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
2020-05-06 10:48:03 -07:00
Gyanranjan Hazarika
333ee0fc2b qcacmn: Add UMAC changes for EMA AP
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
2020-05-06 03:10:19 -07:00