Commit Graph

1317 Commits

Author SHA1 Message Date
Ashish Kumar Dhanotiya
21ec244877 qcacld-3.0: Trigger SSR on wakeup from pagefault
According to new requirement, use INIs
max_pagefault_wakeups_for_ssr,
interval_for_pagefault_wakeup_counts and
ssr_frequency_on_pagefault
to trigger SSR if host wakes up because of pagefault.
For ex: If max_pagefault_wakeups_for_ssr = 30,
interval_for_pagefault_wakeup_counts = 180000 (3 mins) and
ssr_frequency_on_pagefault = 3600000 (1hr), in this case host
will trigger the SSR if it receives 30 wakeups because of
pagefaults in 3 mins, host will trigger SSR only once in 1 hr.
Once the SSR is triggered, host will not trigger next SSR for
next 1 hr even if it receives 30 wakeups from fw because of
pagefaults. This 1 hr time is getting monitored from last SSR.

Change-Id: Ia06f87aff6d1552e37c582e7464f1b2451543502
CRs-Fixed: 3378502
2023-01-17 07:33:48 -08:00
Surya Prakash Sivaraj
ae712fa3de qcacld-3.0: Add support for cross-SAE AKM roam
Pass the akm explicitly in the external auth
request to the userspace since there are many
SAE AKM suites.

Change-Id: Ifef8657f7ef75b402aa670813eba6adc5ab9853a
CRs-Fixed: 3355395
2022-12-29 05:19:08 -08:00
Divyajyothi Goparaju
611a226bbf qcacld-3.0: Optimize bmiss vdev set param command frequency
Currently host sends bmiss set param commands
separately to firmware.
Combine bmiss set params send to WMI to reduce
number of transactions.
Also replace target wmi vdev params with host wmi
vdev params to fix existing broken layering
violation.

Change-Id: I5867ee76f68abf462becafc1f5f80c422c239f4b
CRs-Fixed: 3333237
2022-12-26 05:52:04 -08:00
Surya Prakash Sivaraj
2095242876 qcacld-3.0: Increase PMK max length to 64bytes
For SAE-EXT-KEY AKM with group-21 pwe, the PMK
length is 64bytes. Therefore, increase the max
size of the PMK to 64bytes in host to facilitate
PMK storage and PMK offloads.

Change-Id: I777a31acd56073d6a0312c47d95fe7d155b06fc6
CRs-Fixed: 3353102
2022-12-09 09:35:17 -08:00
vijaraj
d607d5e5e8 qcacld-3.0: Add support for AKM suite 24
Add support for AKM suite 24

Change-Id: I4b5be990a0f2d2aa481374486a5790970cc04592
CRs-Fixed: 3299864
2022-12-09 07:31:54 -08:00
Liangwei Dong
17751d0800 qcacld-3.0: Protect STA powersave state change
At present the set/get user powersave state to MLME and send
command STA powersave mode to firmware operations are not
protected by lock.
Supplicant thread and hdd_ipv4_notifier_work_queue may have
race condition to access the user powersave flag. In that
case the STA powersave state may out of sync.

Fix by acquire sme lock to protect the powersave state set
sequence.

Change-Id: I76d848ea191f2319d015e0d70efad28f56a57d27
CRs-Fixed: 3342696
2022-12-02 12:28:54 -08:00
Krupali Dhanvijay
3ecc75ecc3 qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_empty_scan_refresh_period_global() and
sme_get_neighbor_scan_refresh_period() apis
and replace it with ucfg api.

Change-Id: Iaa511024467f45dc408da3db202b25f9b5276453
CRs-Fixed: 3335898
2022-12-02 01:25:11 -08:00
Krupali Dhanvijay
091ad81795 qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_roam_opportunistic_scan_threshold_diff() and
sme_get_roam_scan_home_away_time() apis and replace it with ucfg api.

Change-Id: I7de3bf3faff990cbf667cb8106044a33f16f3a46
CRs-Fixed: 3335898
2022-12-02 01:25:05 -08:00
Krupali Dhanvijay
7c037e6d50 qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_wes_mode(), sme_get_is_lfr_feature_enabled()
and sme_get_is_ft_feature_enabled() apis and
replace it with ucfg api.

Change-Id: I7715ba361264fcb2c0c93d8d073813538347dd31
CRs-Fixed: 3335898
2022-12-02 01:24:59 -08:00
Krupali Dhanvijay
2c38836b37 qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_neighbor_scan_max_chan_time() and
sme_get_neighbor_scan_max_chan_time() apis and replace it with ucfg api.

Change-Id: I8a9de18f22e352ed8c64f415fd0455f64227a857
CRs-Fixed: 3335898
2022-12-02 01:24:53 -08:00
Krupali Dhanvijay
45eb0c0f4e qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_roam_rssi_diff() and
sme_get_is_ese_feature_enabled() apis and replace it with ucfg api.

Change-Id: I226efbcf8ecd44b08684a3e17e2db987c169946d
CRs-Fixed: 3335898
2022-12-02 01:24:48 -08:00
Krupali Dhanvijay
5afc9f98c7 qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_empty_scan_refresh_period() and
sme_get_neighbor_scan_min_chan_time() apis and
replace it with ucfg api.

Change-Id: I372fcbcf4f96af2c642a5fe93c0f8e2ce98174ea
CRs-Fixed: 3335898
2022-12-02 01:24:43 -08:00
Krupali Dhanvijay
b3021e935e qcacld-3.0: Clean up code for sme apis
Clean up the code for sme_get_neighbor_lookup_rssi_threshold() and
sme_get_roam_rescan_rssi_diff() apis and
replace it with ucfg api.

Change-Id: Idc7503eaa316d68dc05aba8345970ace7bc8ad45
CRs-Fixed: 3335898
2022-12-02 01:24:37 -08:00
Krupali Dhanvijay
a3a9866f7d qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_valid_channels() and
sme_get_roam_intra_band() apis and
replace it with ucfg api.

Change-Id: Ic2f07e2193186d1e1ac81f6e5909417c10ab9c89
CRs-Fixed: 3335898
2022-12-02 01:24:32 -08:00
Rahul Gusain
5c9d7e5c13 qcacld-3.0: Reconfig OBSS periodicity upon NDP create/delete
When STA is connected to an 11ax AP, driver issues a scan request(OBSS)
to firmware with certain periodicity(it's 120 seconds currently).
Firmware shall do a scan for every 120 seconds irrespective of the
device activity. This causes data glitches throughout the scan duration
when data is going on a concurrent interface.
It's observed that the OBSS scan interrupts NDP data traffic from NDP
applications and causes glitches in file sharing/music sharing use cases.

Configure the OBSS scan periodicity with a larger value(1200 seconds) to
mitigate the glitches when first NDP forms. Reconfigure the original
scan duration(120 seconds) once all NDPs tear down.

Change-Id: Ie0c8228ff3b26f8d9a091909c710928e7ae2a787
CRs-Fixed: 3323193
2022-11-18 11:52:08 -08:00
Vinod Kumar Pirla
c682062e13 qcacld-3.0: Associate in 11ax mode on non MLO vdev
In 11be capable configuration, for connection attempt
to MLO AP from non-MLO type vdev, downgrade to 11ax
mode association for that vdev.

User can still connect in ML mode from MLO type vdev.

Change-Id: I1e7cf940a778a20f2f4d5d24283ffb6aae52781b
CRs-Fixed: 3312163
2022-11-18 00:31:10 -08:00
Gururaj Pandurangi
876085af7a qcacld-3.0: Add support for EHT 320 MHz BW caps
Add a new API to append EHT 320 MHz bandwidth capability
from mlme to legacy dot11f structure.

Change-Id: I9ffe7d51da3b22fec47b7be36ab2ac54a8e91bfb
CRs-Fixed: 3330749
2022-11-12 01:23:01 -08:00
Ben Wang
dafdfb98ff qcacld-3.0: Support SAP fast BSS transition in driver
When driver receive auth request frame with FT algorithm,
offload it to hostapd.

When driver receive (re)assoc request whith FT-PSK in RSN IE.
offload it to hostapd.

Filter FT related IE from hostapd, and append it to the end
of the (re)assoc response frame

Change-Id: Id11cce6898615bb6b0cb361ea7b23ea2014f0bae
CRs-Fixed: 4202696
2022-10-18 01:42:14 -07:00
Jeff Johnson
08a4ea4992 qcacld-3.0: core: sme: Fix misspellings
Fix misspellings in core/sme/...

Change-Id: Ic5ac73d86a5ef245d2a19d34dc8e97f4f55665b1
CRs-Fixed: 3303624
2022-10-07 19:13:50 -07:00
Arun Kumar Khandavalli
ab5801f734 qcacld-3.0: Remove unused curr_device_mode variable/Function
Currently in the global sme context a device mode is getting set
which is unused, removed curr_device_mode and its corresponding
set function.

Change-Id: I479107b2bbb940171d41f2620165ccbb7f0b7fff
CRs-Fixed: 3294818
2022-09-19 17:50:10 -07:00
Ashish Kumar Dhanotiya
598a31450c qcacld-3.0: Check band capability as well to decide wifi standard
Currently host does not consider band capability when it decides
supported wifi standard info. This results in incorrect supported
wifi standard info. For example if dot11 mode ini is set to auto
and 6 GHz is disabled from band capability and if host does not
support 11BE, in this case if host does not consider band
capability it reports supported wifi standard as wifi 6E, but
ideally it should not report wifi 6E as it wifi 6E mandates
6 GHz support.

To address above issue, consider band capability as well to
decide supported wifi standard.

Change-Id: Iae7804a73d8ba36ec855fdc4c00ca3106e43b350
CRs-Fixed: 3282169
2022-09-16 07:27:03 -07:00
Kiran Kumar Lokere
3d9b149612 qcacld-3.0: Update cfg HE caps for user BW configuration
Update the cfg HE capabilities to advertise with
user-configured channel width.

Change-Id: Id6a00341bad91edbc0123eb7334b5b83548b2f94
CRs-Fixed: 3271506
2022-08-31 11:07:37 -07:00
Kiran Kumar Lokere
c38d5d534c qcacld-3.0: Config support for assoc link band and no.of links
Config support for assoc link band and max number of links.

Change-Id: I6b9999216691a191e3f02d3756166203055c6c96
CRs-Fixed: 3271628
2022-08-27 22:57:16 -07:00
Surabhi Vishnoi
ef08e7a4c4 qcacld-3.0: Select first clean channel for ACS to optimize SAP turn on time
Currently, ACS computation triggers when ACS scan complete event is
received after firmware has scanned all channels. This leads to
delay in selection on SAP channel.
As an optimization, this change selects the first clean channel
while scan is still in progress. The criteria for first clean channel
is that no beacon/probe response should be received on that channel.
If such channel is obtained while scan is in progress, then select this
channel as SAP channel and abort ongoing scan. Firmware sends
wma_chan_info_event per channel this change uses this event as an
indication that scan is completed on that channel.

To further increase the optimize the time to get clean channel, sort the
ACS frequency list in descending order in ACS SCAN request to
firmware. Firmware scans the channel in the order given by host
in scan request, as higher band channels are less occupied, the
probability of getting clean channel initially will increase, which
will lead to selecting the channel in less time and thereby reduce
the SAP turn on time.

Change-Id: I1a38556862b66943edea08783436f5e1e3a255f6
CRs-Fixed: 3245166
2022-08-19 01:53:49 -07:00
Surabhi Vishnoi
1981726d18 qcacld-3.0: Refactor code to store chan info status in cp_stats
Currently channel info stats are stored in LIM. Refactor
code to store channel info stats in cp stats component.

Change-Id: I2e7219c112e96916d3b73f974dd9803b9c2821c3
CRs-Fixed: 3265722
2022-08-19 01:53:43 -07:00
Vinod Kumar Pirla
50ac86e63c qcacld-3.0: Self peer update during dynamic MAC update
The dynamic MAC address update for non-MLO netdev is not
updating the self-peer MAC address which is causing
reference count leak during VDEV destroy.

For non-MLO netdev always update the self-peer MAC address
and for MLO netdev, update self-peer MAC address only
on the link adapter which is associated to MLD adapter.

For non-MLO netdev, send MLD MAC address as NULL in the
request sent to FW set MAC address.

Change-Id: I37a4fdaef0fb8b274769295fd8a920ebd45ffae4
CRs-Fixed: 3265957
2022-08-12 20:58:21 -07:00
jinbaoliu
39f21f8038 qcacld-3.0: Driver provides rx rates info instead of FW
Driver is able to get rates info per MSDU, which can
exclude special frames like ARP, DHCP, etc. This change
is to refill the rates info parsing by rateflags from FW,
including legacy rate, MCS, NSS, BW, preamble, GI, etc.

Change-Id: I129d5f0dc48758d1a92ac0c3622c1761cdae8286
CRs-Fixed: 3257425
2022-08-12 02:35:08 -07:00
Ashish
c0956f31ba qcacld-3.0: Update connected APs beacon IE correctly
Currently host driver does not update connected APs beacon
IE and because of this host is not able to pass this information
to userspace when it request for this info.

To address above issue, update connected APs beacon IE
correclty in host driver.

Change-Id: Id08d0162704883ad8ccb0f1c436aa8f9886f28c6
CRs-Fixed: 3193823
2022-07-24 04:40:39 -07:00
Jyoti Kumari
977a4af84c qcacld-3.0: Remove csr_roamstart_bssparams structure
Add all members of csr_roamstart_bssparams structure to
parent structure and remove csr_roamstart_bssparams structure

Change-Id: Ifa9f38305e72de45776d6ead25a7053063792382
CRs-Fixed: 3247189
2022-07-21 23:08:35 -07:00
Pragaspathi Thilagaraj
832fee1036 qcacld-3.0: Refine PASN peer delete all & pasn auth status path
Refine PASN peer delete all path, to post message to
scheduler thread to process the peer delete all
message for PASN peers. Handle response timeout in WMA.
Resume vdev deletion after removing pasn peers

Add vendor command support to parse below vendor commands:
QCA_NL80211_VENDOR_SUBCMD_PASN
QCA_NL80211_VENDOR_SUBCMD_SECURE_RANGING_CONTEXT

Send install key command to firmware to install the
PTK upon receiving
QCA_NL80211_VENDOR_SUBCMD_SECURE_RANGING_CONTEXT
vendor command. If LTF keyseed is also received,
send the LTF keyseed to firmware.

Sent PASN auth status to firmware upon receiving
QCA_NL80211_VENDOR_SUBCMD_PASN command.

Change-Id: Idc9c69f7288b0774cc6d9bdcfed13ba3684bbc72
CRs-Fixed: 3231205
2022-07-14 04:12:30 -07:00
Vinod Kumar Myadam
a24510696e qcacld-3.0: Add flag CONNECTIVITY_PKTLOG
Add new flag CONNECTIVITY_PKTLOG to make independent of
FEATURE_PKTLOG and REMOVE_PKT_LOG for packet logging.

This is because 32 tx/rx pkt logging is connection related
and this feature is independent of pkt log feature. Here
driver will send first 32 tx/rx pkts consisting of mgmt
and data pkts to userspace which can be used for debugging

Change-Id: If987ac8b6cb10b464a4ec2ace1c55215c0aa3614
CRs-Fixed: 3222970
2022-06-23 07:03:31 -07:00
abhinav kumar
fbc86e2752 qcacld-3.0: Remove GET and SET ROAMSCANCONTROL driver cmd
GETROAMSCANCONTROL and SETROAMSCANCONTROL driver commands
will be deprecated from Android 13. So remove all logic
related to these driver commands in the host.

Change-Id: I05fafbec2b3f3b798c8c89d0c33b1dbf5c1b45d4
CRs-Fixed: 3225052
2022-06-22 01:00:56 -07:00
Vinod Kumar Myadam
b4520fdd7d qcacld-3.0: Add support for OEM async event from FW
Add handle for OEM data async event from FW sends to userspace

Change-Id: I8104dde974f3b4b4eb9a409235b3b0da4cc97857
CRs-Fixed: 3216034
2022-06-08 19:07:17 -07:00
Qun Zhang
04f01b2cea qcacld-3.0: Let country IE take band channel info as need
When verifying WNM BSS transition function, it's possible to
ask peer STA to transition across multiple band. Some vendor
BTM implementation is needed to check country IE to get all
supported band channel info. Without full channel list in
country IE, it cannot make a transition across multiple band.
To solve the interop issue, let country IE take all supported
band channel info when the specific vendor OUI is detected in
association request.

Change-Id: I78dd4b88937277b54a7da4d72d8a94706965e9a6
CRs-Fixed: 3196957
2022-05-25 09:27:54 -07:00
Vishal Miskin
a16245bd79 qcacld-3.0: Re-use qdf defined macros instead of redefine
Refer qdf_container_of() for GET_BASE_ADDR() and
qdf_offsetof() for GET_FIELD_OFFSET()

Change-Id: I15a9dff070e5fcbde504a7722e99d8d3b0b64b4f
CRs-Fixed: 3187194
2022-05-05 11:14:57 -07:00
abhinav kumar
e65264f599 qcacld-3.0: Process latency level cmd and event
If the multi-client Low latency feature is enabled
in the driver, the host includes a multi-client id
bitmap and the corresponding latency level and sends
the WMI_WLM_CONFIG_CMDID command to set the latency
level in the firmware.

FW calculates a stringent latency level and as a
response to the WLM config command, Fw sends an event
WMI_LATENCY_LEVEL_EVENTID to the host to configure a
stringent latency value.

Change-Id: Ib7a474956f39ef26e1d957b7619ebb8ac87233a6
CRs-Fixed: 3180939
2022-04-26 05:37:43 -07:00
Bing Sun
6df47a0d95 qcacld-3.0: Add API to get max mcs index
Add a new field max_mcs_index in mlme_legacy_priv to save max mcs
index of current vdev.
Add a new field max_real_mcs_idx in hdd_station_info to save max
mcs index of the connected station.

Change-Id: I28908515cbe5c18c79f14f8645defd5c82e3a6f0
CRs-Fixed: 3065838
2022-04-12 06:31:07 -07:00
Surya Prakash Sivaraj
edc56c445f qcacld-3.0: Remove the old SAP/CSR flow
Remove the old SAP-CSR flow for start bss, stop bss and
channel change req processing which is disabled currently
under the SAP_CP_CLEANUP macro.

Cleanup the redundant checks in the deauth, disassoc
response processing in CSR.

Change-Id: I5a360fc267688b51ca645551108b65646a3c8c1a
CRs-Fixed: 3164259
2022-04-03 17:55:50 -07:00
Abhishek Singh
553e074021 qcacld-3.0: Remove SME global lock from the scan APIs
Remove SME global lock use from the scan APIs as scan has its
own lock and thus no need to hold global lock while accessing
scan database.

Also cleanup unused csr scan functions.

Change-Id: I7ad5a61e69c200f9dee6b9158c4d27708fdc98dc
CRs-Fixed: 3160360
2022-03-29 14:11:37 -07:00
Surya Prakash Sivaraj
93aac5b7c6 qcacld-3.0: Remove camelcase in csr_roamstart_bssparams struct
Remove the usage camelcase in bssparams structure, use the
snake case instead.

Change-Id: I56a99b69b08db62aef842e40ad358b3d3dc15b40
CRs-Fixed: 3148876
2022-03-25 17:04:21 -07:00
Surya Prakash Sivaraj
3d8ad3801b qcacld-3.0: Cleanup the start bss request flow
Remove redundant structures and operations in SME/CSR.

Currently, start bss request is prepared in CSR module using
csr_roam_profile, which is built from sap context.

To remove redundencies, prepare the start bss request in SAP
module and serialize the start bss request.

Change-Id: Icd468fe2a48d5324c1485d83b05e27400c9dbd9a
CRs-Fixed: 3142912
2022-03-25 15:44:13 -07:00
Utkarsh Bhatnagar
fea133e371 qcacld-3.0: Move MLO STA concurreny handling to Policy Mgr
Move MLO STA-SAP concurreny handling to Policy Mgr which
is present in CSR currently.
Also, Move MLO STA-STA concurreny handling to Policy Mgr
which was part of If Mgr currently.

Change-Id: I2b8de17c3d31b43ff1f6b81a7de07b88888d7fb5
CRs-Fixed: 3153393
2022-03-21 17:05:03 -07:00
Surya Prakash Sivaraj
08bdec292e qcacld-3.0: Cleanup SAP flow in CSR
Remove redundant structures in CSR for SAP functionality
and add a new flow to post SAP requests from SAP module to
LIM.

Change-Id: If3339cf138140ea148bbd263960907fb3a01de43
CRs-Fixed: 3123072
2022-02-23 08:36:37 -08:00
Srinivas Girigowda
3d62f09171 qcacld-3.0: Make legacy WMA TWT functions no-op
Make legacy WMA TWT functions no-op if TWT componentization is enabled.

Change-Id: I19ab205dac72d869bbe90bad359f89fe83275e4d
CRs-Fixed: 3085424
2022-02-11 00:20:40 -08:00
Rachit Kankane
0b6247975c qcacld-3.0: Add support for EasyMesh ACS
Add support for below EasyMesh specific commands

1. To set user specified channels in the acs channel list
2. To trigger ACS
3. To get the ACS report

Change-Id: I1090b9a86d62eddc9954b70835c7496e5a614757
CRs-Fixed: 3080222
2022-02-01 10:40:17 -08:00
Wu Gao
5924885bea qcacld-3.0: Set vdev tx data callback properly
When WLAN_FEATURE_DYNAMIC_MAC_ADDR_UPDATE enabled and user space sets
mac address, host will detach vdev and attach again without setting
vdev tx data callback. Then host tx TDLS discovery request timeout
since lim_mgmt_tdls_tx_complete isn't called, finally TDLS link
establish failed. This change set vdev tx data callback after dp vdev
detach and attach done.

Change-Id: Iada58ba2df0612a92503ccfa5f246f7cca9db9ad
CRs-Fixed: 3112831
2022-01-26 01:04:12 -08:00
Surya Prakash Sivaraj
ab7caec132 qcacld-3.0: Cleanup start bss processing in LIM
Remove unwanted parameters from start_bss_req and use
the parameters from vdev instead.

Change-Id: Ifea96bf7908b0dae66807b7a346684fe46fdcd4e
CRs-Fixed: 3105488
2022-01-10 15:08:27 -08:00
Bing Sun
8b5d93f37c qcacld-3.0: Update CAC duration of new channel to vdev before CSA
CAC duration of new channel should be able to get before CSA. During
CSA, CAC duration of new channel is used to populate max channel
switch IE.

Change-Id: I25d430d3eb663c90555ebad7a214b0789ea8c1ce
CRs-Fixed: 3102581
2022-01-09 23:09:50 -08:00
Ashish
0fcdb3b424 qcacld-3.0: Remove get disconnect stats command from serialization
Currently in SAP mode, when host driver receives disconnect for
station, first it gets disconnect stats with serialization command
and then it sends delete peer command to fw. There is an issue with
this approach, if there are maximum number of clients are connected
to a SAP and all of these clients gets disconnected at the same
time, in that case there will be a disconnect stats command and
peer delete command in serialization, because of which serialization
queue gets full.

To address this issue, remove disconnect stats command from
serialization and send this command just before sending peer
delete command once peer delete command gets serialized.

Change-Id: I2fa1a5a393939eebbce796e11348fa7c040b40e8
CRs-Fixed: 3100914
2021-12-29 05:36:16 -08:00
Abhishek Singh
af5e1cfadb qcacld-3.0: Remove Unused RSO functions
Remove Unused functions wlan_cm_abort_rso and
sme_abort_roaming.

Change-Id: I3ff40cc7d526adea5cac61522c27142f7c73bcbe
CRs-Fixed: 3101169
2021-12-28 08:46:12 -08:00