Commit Graph

1877 Commits

Author SHA1 Message Date
abhinav kumar
8d3a1d9e82 qcacld-3.0: Filter roam scan channel list as per roam band
Filter roam scan channel list or frequency list as per the
band received from upper layer via attribute
QCA_WLAN_VENDOR_ATTR_SETBAND_MASK and
QCA_WLAN_VENDOR_ATTR_ROAMBAND_MASK.

Change-Id: I4820bfc487949d8445f215a4779dd671925d001f
CRs-Fixed: 3009758
2021-08-31 17:03:03 -07:00
abhinav kumar
5823512803 qcacld-3.0: Set PCL List as per roam band to fw for connected STA
Whenever host Receives vendor command for SETROAMBAND, Host should
set PCL list as per roam band to fw so that FW can use updated pcl
list for further roaming.

Change-Id: I2f48833801b75f25aaf37ea479867b19477ceecb
CRs-Fixed: 3009751
2021-08-31 14:44:31 -07:00
abhinav kumar
0697018d60 qcacld-3.0: Process the BAND_MASK attribute
Process the BAND_MASK attribute which comes to the
host via the QCA_WLAN_VENDOR_ROAMING_SUBCMD_CONTROL_SET
vendor command. Save the value of this band mask into
the RSO configuration structure.

Change-Id: I57ecc10912a38207ef478b38cf3add3c584dd2f4
CRs-Fixed: 3009749
2021-08-31 14:44:25 -07:00
Bing Sun
7f0fb64100 qcacld-3.0: Fix issue when getting rnr
When getting rnr IE information, instead of getting rnr pointer through
input parameter,  we can just return rnr pointer.

Change-Id: I7215451d34164d40d6404d0a426f1cc30a143e15
CRs-Fixed: 3025191
2021-08-31 12:23:13 -07:00
Liangwei Dong
c5da5facf2 qcacld-3.0: Revert "clear pmkid cache when ap off"
This change removes the "delete pmksa on BMISS" logic in commit
I5d8ec9e9d4f8a44178b113d370799fe2bc0373fb.
Will handle the issue in new commit by OUI checking of AP.

Change-Id: I871999f8c473afdc75b774210044fc059fcd07b0
CRs-Fixed: 3021068
2021-08-31 12:23:08 -07:00
Liangwei Dong
e45a8446a5 qcacld-3.0: Add DBS-SBS PCL table
DBS-SBS table will support 2G+5/6G DBS mode
and 2/5G+5/6G SBS mode.

Change-Id: Ia8c2a69caed771fa66a148c98ce1234ebb76689d
CRs-Fixed: 2998488
2021-08-31 07:54:34 -07:00
Liangwei Dong
2762576aec qcacld-3.0: Fix KW warning for pcl weight list
Add sanity check for index with NUM_CHANNELS and pcl_sz
when add 2.4G channel list.

Change-Id: I04ac1bcdb6720a4740be7c2f5e08f76b3c34d8c4
CRs-Fixed: 3025000
2021-08-31 05:39:23 -07:00
Yu Wang
f144628933 qcacld-3.0: refine functions for getting preferred channel list
Refine policy manager get PCL channel list APIs to help
add new PCL type.

Change-Id: I1e9d49c5f0a8c2c38f1fb5302615bc956ed6aae0
CRs-Fixed: 2998478
2021-08-29 03:01:18 -07:00
Srinivas Dasari
3aeaeefe07 qcacld-3.0: wma to target_if migration of roam pmkid request evt
Currently, wmi_roam_pmkid_request_event_id data is extracted and
processing is also done in wma. This is not inline with component
model where target_if takes care of data extraction and handover
the extracted data to corresponding component(connection mgr in
this case). Add changes to support the same.

Change-Id: I3fad4e4d7ceeb85c632723e161809bf980d5375f
CRs-Fixed: 3014248
2021-08-28 00:29:22 -07:00
Vijay Patil
23999e417d qcacld-3.0: wma to target_if migration of roam_auth_offload_event
Currently, wmi_roam_auth_offload_event_id data is extracted and
processing is also done in wma. This is not inline with component
model where target_if takes care of data extraction and handover
the extracted data to corresponding component(connection mgr in
this case). Add changes to support the same.

Change-Id: I128db23077d423c5e5ecf27636bc3af35cbbc58f
CRs-Fixed: 3010419
2021-08-28 00:29:16 -07:00
Rajeev Kumar
e59ae1bbe5 qcacld-3.0: Disable SAP/GO D3 WoW features if IPA is enabled
SAP/GO D3 WoW feature is not supported when IPA is enabled and hence
disable SAP/GO D3 WoW features when IPA is enabled.

Change-Id: Ia3da37087a0ca79c81c546f43a0893e46cf08c3c
CRs-Fixed: 3015104
2021-08-27 15:12:30 -07:00
Utkarsh Bhatnagar
ac66479f44 qcacld-3.0: Add support to get thermal throttle stats
Add support for sending WMI_REQUEST_THERMAL_STATS_CMDID
to request for the thermal stats via vendor cmd:
QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_GET_THERMAL_STATS
This vendor cmd can either be used to clear the thermal
stats or to request for the thermal stats.
Added ini gThermalStatsTempOffset, which can
configure thermal temperature offset value for capturing
thermal stats in  thermal range such as Thermal STATS
starts capturing from temperature threshold to temperature
threshold + offset.
If this ini is set to 0, then the events are disabled.
Also, add support for the FW event where the requested
thermal stats are sent in FW event
WMI_THERM_THROT_STATS_EVENTID().
The following attributes are sent in the events for every
level:
	STATS_MIN_TEMPERATURE
	STATS_MAX_TEMPERATURE
	STATS_DWELL_TIME
	STATS_TEMP_LEVEL_COUNTER

Change-Id: If8acdeec5bde33be346332ccaf39d78d0151203d
CRs-Fixed: 3016818
2021-08-27 10:23:21 -07:00
Vulupala Shashank Reddy
843ce5f0eb qcacld-3.0: Remove unused linux header file
Remove unused linux header file in packet capture component.

Change-Id: I668061d0a6516cca51a153e3713e8c0a5634fb64
CRs-Fixed: 3019885
2021-08-27 05:44:36 -07:00
Kiran Kumar Lokere
cde70adc46 qcacld-3.0: Config support to use BSSID in probe request RA
User configuration support to use scan request BSSID value
in Probe Request frame RA during the scan.

Change-Id: Ie0b7620428e1bfbd51e7430b6b7ad23ebede9e67
CRs-Fixed: 3021525
2021-08-27 01:05:14 -07:00
Amruta Kulkarni
f8ca4c5c52 qcacld-3.0: Update chan freq for roam invoke
In roam invoke request, if bssid is same as connected
bssid use connected frequency.

Change-Id: I0e205ffab002b80021bf6a615e4cfc0a723f0ba5
CRs-Fixed: 3022351
2021-08-26 20:56:07 -07:00
Aditya Kodukula
152f278973 qcacld-3.0: Enable WLAN_MODULE_WPM logs by default
Enable the firmware module WLAN_MODULE_WPM with error log level
in wow mode by adding default values in the ini gFwDebugWowModuleLoglevel.

Change-Id: I53a729bde6cfb6d8141864472718a2d8da9efead
CRs-Fixed: 3022434
2021-08-26 03:40:17 -07:00
Bapiraju Alla
d599410e45 qcacld-3.0: Populate assoc link id in ML IE of assoc request
Populate assoc assoc link id in ML IE of an assoc request from
scan cache entry

Change-Id: I82b2b68f45411b1588c76ddd7ce9d21a93d972f3
CRs-Fixed: 3013684
2021-08-26 01:11:17 -07:00
Amruta Kulkarni
07e3dc73ab qcacld-3.0: Wmi changes for mlo roaming
-Extract new wmi struct added as part of MLO roaming
 changes.
- Send EHT and MLO weightage percentage to FW via
 WMI_ROAM_AP_PROFILE.

Change-Id: I6b3f1f62ef6ea323cd1b75f63a5c63c38b000f1f
CRs-Fixed: 3010039
2021-08-25 17:31:29 -07:00
Sai Pavan Akhil Remella
b35419136e qcacld-3.0: wma to target_if migration of roam_stats_event
Currently, wmi_roam_stats_event_id data is extracted and
processing is also done in wma. This is not inline with component
model where target_if takes care of data extraction and handover
the extracted data to corresponding component(connection mgr in
this case). Add changes to support the same.

Change-Id: I5e336b01e1a2183e49b3e6eeb125c7c9fd0fd73c
CRs-Fixed: 3003125
2021-08-24 13:12:34 -07:00
Aditya Kodukula
e5d87bf5d6 qcacld-3.0: Support Multicast Domain Name Server Offload
The purpose of the multicast Domain Name System (mDNS) is to resolve
host names to IP addresses within small networks that do not include
a local name server.

It utilizes essentially the same programming interfaces, packet formats
and operating semantics as the unicast DNS, and the advantage is zero
configuration service while no need for central or global server.
Based on mDNS, the DNS-SD (Service Discovery) allows clients to discover
a named list of services by type in a specified domain using standard
DNS queries.

Here, we provide the ability to advertise the available services by
responding to mDNS queries.

Change-Id: Id2a0468d49237c21062cfd1988e34903658cdad9
CRs-Fixed: 3008549
2021-08-20 22:02:01 -07:00
Ashish Kumar Dhanotiya
36945867a8 qcacld-3.0: Set global opclass if country is not present in beacon IE
When driver gets rrm request it tries to get country from beacon IE
and if country is not present in beacon IE it sets the current
country information from regulatory and does not sets the op class
which is not the right way.
If AP does not send country in beacon IE, driver should set
GLOBAL_OP_CLASS for rrm request.

Change-Id: I4797d03f38817ac580f3bfea08f1939dad4da5d1
CRs-Fixed: 2996921
2021-08-20 01:18:25 -07:00
Utkarsh Bhatnagar
d790174870 qcacld-3.0: Move get qos related API to LIM from CSR
Move get qos related API to LIM from CSR.

Change-Id: I44f32ea6588bebd2205bccf62d2267958884f260
CRs-Fixed: 3017623
2021-08-19 17:34:11 -07:00
Paul Zhang
fc8ccbf23a qcacld-3.0: Add ini wlm_latency_reset_on_disconnect
Currently, the WLM mode could be recovered after disconnection
or interface down/up about random MAC feature. Since some OEMs
have different mechanisms to config WLM mode on their framework
implementation and don't expect recovering the WLM mode.

So add logic to set default WLM mode when disconnection happens.
And add ini wlm_latency_reset_on_disconnect to differentiate
the implementation in driver. By default
wlm_latency_reset_on_disconnect is false.

Change-Id: Idcb3baf6ab8f0533eb01c28ff1c12513f9995946
CRs-Fixed: 3006875
2021-08-19 11:30:24 -07:00
Bapiraju Alla
19856d1d3f qcacld-3.0: MLO connect path fixes
Fixes in this change include:
- Add debug prints
- Don't disable roaming in case of MLO link connection
- Minor compilation fixes

Change-Id: I0aa9e8b2fd634b6dba1926796d95db997946aac3
CRs-fixed: 3013039
2021-08-19 09:23:49 -07:00
Kiran Kumar Lokere
a70df38665 qcacld-3.0: Config support for BTWT and Rx control frame to MBSS
Add configuration support for broadcast TWT support and Rx control
frames to MultiBSS HE capabilities.

Change-Id: I2b3075a21c919c120e7a1ff674ac33fdd5d73801
CRs-Fixed: 2979513
2021-08-18 23:55:00 -07:00
Utkarsh Bhatnagar
235135f84d qcacld-3.0: Fix unnecessary logs in connect path
Fix unnecessary logs in connect path.

Change-Id: I60a5e7380eccbe0406e45da398f1f690b09ce820
CRs-Fixed: 3016952
2021-08-18 18:43:27 -07:00
Balaji Pothunoori
f0521aa1ea qcacld-3.0: update ini configured rx aggregation size in addba response
Currently addba response is not updated with ini configured rx aggregation
size.
This change is to reject peer addba request if rx aggr size is 1 and
for other sizes select min value of peer and configured sizes.

Change-Id: Ia375b1e031dfecf948429e0baea19faa8fe42ffa
CRs-Fixed: 2962314
2021-08-18 18:43:22 -07:00
Bapiraju Alla
6874af8035 qcacld-3.0: Fix ac fallback issue when TSPEC id deleted
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
2021-08-18 12:07:53 -07:00
Will Huang
7ceef833da qcacld-3.0: Check unsafe channel again after bandwidth selected
In LTE coex SAP restart scenario, currently SAP new channel is selected
base on 20M bandwidth, and channel bandwidth is determined after
channel frequency determined, if new channel bandwidth is greater than
20M, it is possible channel boundary fall in unsafe channel range,
because bonded channel is fixed with different bandwidth.

If select new primary channel with determined bandwidth, it would
violate MCC to SCC limitation if concurrency, to make it simple,
just shrink SAP bandwidth to 20M if check unsafe channel failed.

Change-Id: Id9bc5e6e807c0446138ca816bc3ada22443fe7a2
CRs-Fixed: 3005333
2021-08-18 03:13:03 -07:00
Paul Zhang
2e903a08b7 qcacld-3.0: Invalid ADDROAMSCANCHANNELS if specific channels configured
For roam scanning, "specific channels list" is preferred over
"preferred channel list". Hence if user configured specific channels
then return invalid for ADDROAMSCANCHANNLES command.

Change-Id: I858eef5c990cedb4b12c21c1a00f34ff6b819849
CRs-Fixed: 3014609
2021-08-17 18:03:14 -07:00
Balaji Pothunoori
1cd76edad4 Revert "qcacld-3.0: addba request reject for peer ap"
Peer addba request is rejected when reject_addba_req is set from
ini or vendor command.
Current reject_addba_req ini is replacing with gRxAggregationSize
when it is set 1 from ini.
Hence this reverts commit I80a4b78c1af77f5bfa68be3163f9e9a78cc64245.

Change-Id: I1cc57b88311da4dd8f26eade17072aaa1f0ebb59
CRs-Fixed: 3002204
2021-08-17 15:46:23 -07:00
Jianmin Zhu
1d4b529547 qcacld-3.0: Fix Dual AP IPA failed when NAPI enabled
Fix AP+AP IPA offload path failure when NAPI over IPA enabled on mdm
platforms by adding QCA_CONFIG_RPS check.

QCA_CONFIG_RPS is same as CONFIG_RPS, default Y, but depend on CONFIG_SMP
as msm-5.4/net/Kconfig.

For AP+AP mode,
For LA,   CONFIG_SMP on,  then QCA_CONFIG_RPS on,  use IPA exception path.
For mdm,  CONFIG_SMP off, then QCA_CONFIG_RPS off,  use IPA offload path.

For IPA napi enable status check, just use qdf_ipa_get_lan_rx_napi,
don't need MACRO IPA_LAN_RX_NAPI_SUPPORT.

Change-Id: I6b16f2a830d4e7829c9e539896ed2977895d367e
CRs-Fixed: 2992393
2021-08-17 11:01:11 -07:00
Surya Prakash Sivaraj
bad0b3e491 qcacld-3.0: Add an INI to configure SAE auth failure timeout
Currently, the SAE authentication request retry happens
after a fixed timeout of 1 second in a STA DUT.

To make this timeout user configurable, add an INI to
configure SAE auth failure timeout.

Change-Id: I3a3944ab14564a944e0c83cc31a92847b5e8c5e0
CRs-Fixed: 3011892
2021-08-16 15:52:25 -07:00
bings
4320b87f57 qcacld-3.0: Pass mld mac addr correctly when creating peer
Make sure mld mac addr is passed to wma when creating peer obj

Change-Id: I4500033d75edd59255e299174de1c49d09a45422
CRs-Fixed: 3014211
2021-08-16 01:08:33 -07:00
Deeksha Gupta
9457734236 qcacld-3.0: Reset rand mac addr filter after tx frame cancel
Currently, If supplicant sends tx_mgmt request with random
mac_addr then driver adds the random mac_addr and sets this
random mac_addr to firmware via
WMI_VDEV_ADD_MAC_ADDR_TO_RX_FILTER_CMDID command. Driver waits
for tx_ack or tx cancel wait to complete and then remove the
cookies and start timer to delete the random mac_addr.
In case after receiving tx_ack, driver removes the cookie and
starts timer and before timeout supplicant sends the
tx_cancel_wait request. But driver can't update the timer
duration as the cookie was already deleted as part action frame
tx completion.

Fix is driver will remove the cookie with below condition:
1. If driver receives the tx_ack and the wait duration = 0 then
no need to start the timer, remove the cookie and also remove the
random mac_addr from firmware
2. If driver receives the tx_ack and the wait duration != 0 then
start the timer
3. If driver receives tx_cancel_wait then stop the timer and
remove the randon mac_addr from firmware
4. If timeout happens then remove all the cookies for the random
mac_addr and also remove the random mac_addr from firmware

Change-Id: I3e227213239e865582e5d8674260d049c437aa9b
CRs-Fixed: 3002851
2021-08-12 23:52:29 -07:00
Ashish Kumar Dhanotiya
b4f20040b1 qcacld-3.0: Add INI aliasing for idle_roam_band
Based on new requirement add aliasing for idle_roam_band.

Change-Id: I7ebc2eaf647da6b9dc3cd63a5c81e9160a14e72b
CRs-Fixed: 3007435
2021-08-12 10:45:03 -07:00
Jia Ding
94054464bf qcacld-3.0: Add 320MHz support in connection info
Add 320MHz support in cm so that connection info can reflect
correct 11BE 320MHz bandwidth.

Change-Id: I44772472bf9e64af0e47ad71ca7d29d1ff90daed
CRs-Fixed: 3009311
2021-08-12 03:14:06 -07:00
Ashish Kumar Dhanotiya
0f6fd1f8db qcacld-3.0: Add aliasing for gNeighborLookupThreshold ini
Based on new requirement, add aliasing for gNeighborLookupThreshold
ini and update the range of this ini as well.

Change-Id: I0a62e209d6a62001d6aec48849c4900062ae5bc7
CRs-Fixed: 3011060
2021-08-12 00:55:37 -07:00
Pragaspathi Thilagaraj
5a540a315f qcacld-3.0: Add additional debugs in PMKSA caching path
Add additional debugs in pmksa caching path.

Change-Id: I5e412c60c3455c1a40d6f742fb6536b9ac621748
CRs-Fixed: 2978751
2021-08-11 15:50:27 -07:00
Ashish Kumar Dhanotiya
d89f39b0bd qcacld-3.0: Add aliasing for INI names
Currently driver has only one name for an INI, with
this change add second name as well for few INIs based on
new requirement.

Change-Id: I6eee13935d1c5c74794027b88d94cbb572339e9e
CRs-Fixed: 3007209
2021-08-09 22:25:05 -07:00
Mohammed Ahmed
9f6f22ca98 qcacld-3.0: Fix incorrect layering in scan component
Replace ucfg api call with wlan api calls for internal components.

CRs-Fixed: 2980401

Change-Id: I286a4cc78b637ae1c32ac8e7c30ef182f06e0a44
2021-08-09 20:03:36 -07:00
Will Huang
08dab6a394 qcacld-3.0: Update country code from beacon when do rrm scan
The RRM request may have different country code with DUT internal
regdb configure, use country code from beacon IE if it is present,
otherwise use internal country code to verify op class of neighbor
report channel list.

CRs-Fixed: 2997474
Change-Id: I35a62d9791f08d26dd8a892739612eb422805523
2021-08-08 21:00:29 -07:00
Pragaspathi Thilagaraj
e8aac242d4 qcacld-3.0: Send RSO stop when roam auth status is connected
When firmware sends Roam synch indication, driver changes the
roam offload state to ROAM_INIT and after set key completion is
received, RSO start will be sent. But if EAP/EAPOL fails and
disconnection is triggered then deinit command is sent without
setting roam scan mode to 0 with RSO stop command.

So change roam offload state to RSO_STOPPED if auth status is
connected in roam synch indication.

Change-Id: If8f56ce48500f6848fa917854b6252f8deb67c01
CRs-Fixed: 3005697
2021-08-07 13:41:50 -07:00
Srinivas Dasari
461669908f qcacld-3.0: Revert "Move cp stats to scheduler thread from kwork"
This reverts change Id8134003e6f7a3e0368b20c496f650e0b7025b9e

Moving cp stats to scheduler thread is breaking the
synchronization in stats collection. Currently, when a get stats
command is issued from framework, host driver sends the same to
firmware and wait for both llstats and get_station related stats.
The expectation is to receive get_stats first and then llstats.
Host driver has a wait for the last llstats event to return the
stats to userspace. As the cp stats(get_station stats) are moved
to scheduler thread, the order of these events can't be ensured
as llstats are still running in kworker thread. llstats event gets
processed before cp stats mostly and stats are returned
immediately to framework. Framework may issue the get stats
command again and the same is sent to firmware, which may result
in synchronization issue in firmware as well.
Moving llstats also to scheduler thread may not be optimal as these
are aggressive and can be queried by framework multiple times with
a milliseconds gap.
So, move back the cp stats to kworker thread to maintain
synchronization.

Change-Id: I8dc518f0de37e7cc203cb1f6e67045d74b304d93
CRs-Fixed: 3002534
2021-08-07 07:22:56 -07:00
Amruta Kulkarni
c71017d971 qcacld-3.0: Roam sync event migration
Wma to target_if migration for ROAM SYNC EVENT

Change-Id: Id2e9d5697f12f709cfdd665dabf1095863d87277
CRs-Fixed: 2990767
2021-08-07 02:58:54 -07:00
bings
5ebabb221f qcacld-3.0: Populate mlo IE for assoc req
Populate mlo IE for assoc req with inheritance mode.
populate base rate, extend rate, capability, extend capability
and HT/VHT/HE/EHT capability based on mac context.

Change-Id: I5e1c350a9c5f23a63d11c6d4b5cdbf0422dd53e0
CRs-Fixed: 3000895
2021-08-06 14:08:37 -07:00
abhinav kumar
5761f0f95e qcacld-3.0: Dont enable roaming on STA2 in STA+STA SCC
In case of STA + STA concurrency, enable roaming on
another interface only if STA + STA concurrency is in
DBS.

Add sanity for SCC concurrency also along with MCC
concurrency in cm_roam_switch_to_init.

Change-Id: I8787828b4b950c355e9bf70af58aad7779de3e9f
CRs-Fixed: 3001723
2021-08-05 20:23:01 -07:00
Jyoti Kumari
bf9589ac92 qcacld-3.0: Reset twt active command if ack fail
Reset twt active command if ack fails due to firmware internal
error.

Change-Id: Ic980314261ab4f6deb437b36e525ea59c286eee2
CRs-Fixed: 2997509
2021-08-05 15:13:27 -07:00
Kiran Kumar Lokere
f4ed112b3c qcacld-3.0: Add support to configure bss max idle period
Add support to configure the bss max idle period for STA.

Change-Id: Ifc56f6513a2b643ab574937c5216b53bdea1d2c5
CRs-Fixed: 2829159
2021-08-05 15:13:22 -07:00
bings
bebd7a8b45 qcacld-3.0: Pass mld address and assoc link info when creating bss peer
MLO sta needs mld mac and assoc link information to create bss peer
Get mld address and assoc link info from connection manager and pass
it to bss peer creation

Change-Id: Ie04d4eb01f1a039f068b32b6c53aa3e65c919518
CRs-Fixed: 2987483
2021-08-05 15:13:13 -07:00