Don't allow TWT commands back to back till response for
existing command is not received.
Reject the new command till the existing command completion
event is received from firmware. Allow TWT teardown when
any other command is in progress after TWT setup is complete.
Change-Id: I9282230c7cb24691b44ddfd273972272fd80f44b
CRs-Fixed: 2853515
Create TWT context in peer object to store the TWT session
related parameters. Introduce mlme api to get/set various
twt session parameters for the peer.
Block the below commands till TWT setup is complete.
TWT GET
TWT Pause
TWT resume
TWT terminate
Add new files for TWT specific functionality in MLME component:
components/mlme/core/inc/wlan_mlme_twt_api.h
components/mlme/dispatcher/inc/wlan_mlme_twt_public_struct.h
components/mlme/dispatcher/inc/wlan_mlme_twt_ucfg_api.h
components/mlme/core/src/wlan_mlme_twt_api.c
components/mlme/dispatcher/src/wlan_mlme_twt_ucfg_api.c
Also return error to userspace if back to back TWT setup
command is received before TWT setup response is received from
firmware or already TWT setup is complete for given dialog id
Change-Id: I61e24dd41dc9dcb78fdfe33ef8fa0ecb374a4a72
CRs-Fixed: 2847213
Currently in SAP and STA mode the driver advertises TWT
capabilities in the HE capabilities IE based on the below ini
values irrespective of the master ini "enable_twt" to enable
the twt feature:
"he_twt_requestor","he_twt_responder", "he_bcast_twt",
"he_flex_twt_sched".
So even with the ini is disabled, twt capabilities are advertised
Advertise TWT capability only if "enable_twt" ini is true.
Change-Id: Iae3a98ee339f3859391e0deb64ddd354634b0cbf
CRs-Fixed: 2844516
Cleanup the struct sCsrNeighborRoamControlInfo and move params in
vdev ext object.
Change-Id: If5a490c68137622838afc831a4da0e1da7fa49c4
CRs-Fixed: 2850991
Add legacy pointer in connection manager context to use for RSO
and other connection manager legacy operations.
Change-Id: Ibc665f53d77aebb3f248fedbdffd1cfe86492b25
CRs-Fixed: 2845980
Currently driver does not update qos related parameters for
connection manager connect complete path, add logic to
update qos related parameters for connection manager connect
complete path.
Change-Id: If7d67448710a8f950d5c78ca961cab7884f58d61
CRs-Fixed: 2846591
There are few functions which were missing for association completion
for connection manager functionality, add those missing functions
for association completion handler.
Change-Id: Iaca6599921fa73972553a8bd805b2f39ad580407
CRs-Fixed: 2846083
Add connection manager logic to handle p2p/tdls/policy mgr logics
on connect/disconnect start and complete ext indication. And
add the call to csr to update the legacy structs.
Change-Id: I218a1d193dd62ad041e84078bd2509b82ec11363
CRs-Fixed: 2846663
Refactor connect complete code and move common code
for connection manager and legacy path to a common function
to remove the duplication of the code.
Change-Id: I25e39635005efd9ad19174e9f26d009946912cdb
CRs-Fixed: 2842413
There are cases where only a few TWT roles may be required
to be enabled. For example TWT Requestor role alone or
TWT Respondor role alone. Also, it could be unicast TWT only
and disable broadcast TWT.
Support broadcast TWT configuration in requestor and responder
role by adding new INI.
Extend the use of existing requestor and responder INIs to further
enable requestor and responder roles itself.
Change-Id: I3dfa196edfda9cafd01fa56c0bb6ce73e27b4144
CRs-Fixed: 2828718
To avoid roaming enable failed for operations bitmap set/clear mismatch for
SAP+STA or STA+STA concurrency, clear whole operations bitmap when RSO
deinit, then roaming can be enabled again after STA disconnect and
reconnect.
Add log when set/get operations bitmap to help debug.
Change-Id: Ie1f1a213dcdefb393ec3e1e2c6a8a71ab17b226c
CRs-Fixed: 2834199
Currently, Host sends classifier type and classifier
mask part of TCLAS Mask OPIE only with tag length of
2 bytes.
As per spec tag length for TCLAS Mask OPIE should be 18.
Ext Tag: TCLAS Mask
Ext Tag Number: TCLAS Mask (89)
Ext Tag length: 18
Classifier Type: 4
Classifier Mask: 0x5f
Reserved:00000000000000000000000000000000
Fix is to add a reserved parameter in TCLAS Mask OPIE
of length 16 bytes and set it to NULL.
Change-Id: I54cd896a4ffad16581c14fc254575bcec8e6f6d7
CRs-Fixed: 2822616
Currently, host decrements beacon switch count and sends
channel switch frame every time until count becomes 0 this
may introduce sync issue between fw and host in case fw has
not sent beacons but host decremented switch count due to
timeout and sent new channel switch frame or vdev restart in
case count beacomes 0.
Fix is to offload CSA to fw to avoid any sync issue.
Change-Id: Idb48d419ec4117ff39cb823ca8af75d7a0abc3c0
CRs-Fixed: 2828045
Add new ini "monitor_mode_concurrency" to support this feature
and introduce policy manager api's for concurrency checks.
Change-Id: I35ee1fece0a6f9ae8fe340b0598c4a3e20b17e82
CRs-Fixed: 2814523
Add logic to
- Check if connect req freq is 6Ghz and security
is not allowed for 6Ghz, reject connect.
- Ignore 6Ghz APs if connect req security is invalid
for 6Ghz
Also added user config key_mgmt_mask_6ghz mask
to allow specific AKMs, by default all are allowed.
Add added user config check_6Ghz_security to enable
security checks as per spec.
Change-Id: Iada7bb685b272e26cff7e89cf64d181ed6eb48a4
CRs-Fixed: 2820358
Move ini CFG_VENDOR_ROAM_SCORE_ALGORITHM from qcacld-3.0 to qcacmn part.
from qcacld-3.0: mac_ctx->mlme_cfg->roam_scoring
to qcacmn: mlme_psoc_obj->psoc_cfg.score_config.
Change-Id: I318f0d516ce699c061f268116e1cbf79fcc9e23a
CRs-Fixed: 2806090
Memory is created for the mlme legacy pointer during the create
of the mlme legacy priv object. This allocated memory doesn't get
free when an error condition which leads to device crash.
To avoid this problem memory should be freed before returning from
the error condition.
Change-Id: I8aaaf7bf17cf38f70135e5ff00db429c34aff2d8
CRs-Fixed: 2803896
Add support for connect and disconnect path
in legacy cld files with respect to connection
manager.
Change-Id: Ia42dd45d943de20d91279c0197b0f17a5c0326eb
CRs-Fixed: 2805807
INI he_twt_requestor and he_twt_responder should be able to disable/enable
twt requestor and twt responder.
Make them work.
Change-Id: I5e091a2f04cca1817f1a2db6358f141c2eaf103d
CRs-Fixed: 2798800
To discard 5G candidates based on RSSI threshold, Introduce
a new INI "min_rssi_for_2g_to_5g_roam" to configure the RSSI
for High RSSI Trigger.
Min: -120
Max: 0
Default: -70
Change-Id: If4545296ef1b53d18b8ae4abf12d450f5e690240
CRs-Fixed: 2789017
Currently, QCA_SETBAND_AUTO is backwards compatible, so it is set
to include only 2G and 5G bands. Update this to include 6G bands
as well. Also update the band capability INI to have the default
value 0 include 6G bands.
Change-Id: I98067c18e939ff4c1e7b1e778b020b44409b5b34
CRs-fixed: 2799883
Add support to handle the nl80211 attribute -
QCA_ATTR_ROAM_CONTROL_TRIGGERS_SCAN_SCHEME. Send RSO update to
firmware if roam scan scheme value is received via the nl80211
attribute QCA_ATTR_ROAM_CONTROL_TRIGGERS_SCAN_SCHEME over the
QCA_WLAN_VENDOR_ATTR_ROAMING_SUBCMD subcommand.
Change-Id: If21281245097648380990b9218a722691279f598
CRs-Fixed: 2785256
User sends wfa test configs to host using vendor command
QCA_NL80211_VENDOR_SUBCMD_WIFI_TEST_CONFIGURATION. Host parses the
vendor command and sends wfa test configs to FW using WMI command
i.e. WMI_WFA_CONFIG_CMDID
Change-Id: I5aa0bc8b0a0064828b48368e47d53a5ad5e7ff2f
CRs-Fixed: 2772013
Use uint32 variable to populate he_mcs_12_13_supp from ini
he_mcs_12_13_support.
Previously, uint16 variable was used which was populating
he_mcs_12_13_supp_2g correctly but was disabling
he_mcs_12_13_supp_5g.
Change-Id: I28cd2060799a9f46f79860bdf9a3ede1574c9112
CRs-Fixed: 2789303
At present, WAPI security mode STA is not allowed to run in
concurerncy with any other vdev.
So, whenever a new vdev is created, policy_mgr_check_privacy_for_new_conn
is called to check the security concurrency of new connection by checking
security of exisitng vdevs and if a STA vdev with WAPI security exists
then the concurrency is not allowed and the api will return false.
In case, while performing this check, the adaptor associated with
the existing vdev is destroyed, there might be a crash as
hdd_wapi_security_sta_exist is still trying to access the security
of that vdev.
To solve this, use wlan_objmgr_pdev_iterate_obj_list with crypto info
to iterate across all the existing vdev and check the security. If
Wapi security STA exists, it will return an argument with value as true
which will be used in policy_mgr_check_privacy_for_new_conn and it will
return false as concurrency is not allowed
Change-Id: Iff811d2406f1c74cec26d457a2a682dd992710b8
CRs-Fixed: 2784406
When vdev is null in both mlme_get_roam_state() and
mlme_is_roam_invoke_in_progress(), error log is getting printed
redundantly.
Remove prints from both function as there is no additional info.
Change-Id: Ibc96ad957d947857777dad9df9ff766e68562dae
CRs-Fixed: 2785775
qdf_mem_malloc() function already takes care of logging the
caller function name and line number in case of any allocation error.
Hence there is no need to add the error log again.
Getting rid of these unnecessary logs reduces driver memory footprint.
Change-Id: If0b9425f82f9ed793c7639c0ed09eb1f868b6d5c
CRs-Fixed: 2781932
For STA+P2P GO case, DUT sets operational rates when connecting to AP
as STA, and overwrites it when DUT forming P2P connection as P2P GO.
So, add this change to save operational rates to vdev mlme legacy
object, and avoid to overwrite for other inferfaces.
Change-Id: I2bfbecbc9bc50b8943b1e3de516782e70b125ce2
CRs-Fixed: 2773943
Add ini he_mcs_12_13_support which will be used to enable
or disable 4K QAM MCS rates.
This ini can be used to set. MCS 12 and 13 for 2.4Ghz and
5Ghz. First 16 bits(0-15) is for 2.4ghz and next 16 bits
is for 5Ghz. Of 16 bits the higher, first 8 bits represent
BW less than or equal 80Mhz (<= 80Mhz) and higher 8 bits
represent BW greater than 80Mhz (> 80Mhz). nth bit in octet
represents support for nth NSS [n=1:8].
Def value is 0xFFFFFFFF which enable MCS 12 and 13 for all
NSS and BW.
Also, enable 4K QAM MCS only when this ini is enabled and
firmware also supports it.
Change-Id: I8375203735d8b07ef4ff86be2213da127be4e556
CRs-Fixed: 2762230
Currently, gRoamBeaconRssiWeight is not used in HOST or
FW.
Remove unused roam ini param gRoamBeaconRssiWeight.
Change-Id: Ida6ddb8ca5805f819c4d3f7e6ed96c705fa6594f
CRs-Fixed: 2767533
FW triggers roaming based on the RSSI score of AP(s) available
after background scan. Currently, the host does not configure
the value of bg_rssi_threshold RSSI. This results in ping-pong
roaming after background scan, even though candidate AP
RSSI is not better than 5dbm than connected AP.
Fix is to configure the value of bg_rssi_threshold via new
INI "bg_rssi_threshold" and configuring default value of
INI as 5dB.
Min: 0
Max: 100
Default: 5
Change-Id: Ib710e294c8b33ff4903d41453e3b55f02daf53ae
CRs-Fixed: 2763962
Add checks in caller APIs to handle negative return value from
crypto get param and crypto get peer param APIs.
Change-Id: Ibb138971f347c7ccdacbc93aa38521d5d9536759
CRs-Fixed: 2775328
3 ini:
roam_data_rssi_threshold_triggers
roam_data_rssi_threshold
rx_data_inactivity_time
If there's rx activity during latest rx_data_inactivity_time
and avg of data_rssi is better than roam_data_rssi_threshold, then
suppress roaming triggered by roam_data_rssi_threshold_triggers: low
RSSI or bg scan.
Change-Id: I5b41c4119e61392b50e52ab8ccb8650e5758f3b3
CRs-Fixed: 2768053
Currently INI: gFirstScanBucketThreshold is not used
while LFR2/LFR3 roaming.
Remove unused INI gFirstScanBucketThreshold
Change-Id: Ifa909fc57d3ac3da696369fcffc390826f393b44
CRs-Fixed: 2767372