Commit Graph

1988 Commits

Author SHA1 Message Date
Jia Ding
f58c9d0001 qcacld-3.0: Prevent possible use-after-free of ipa_obj
wlan_ipa_uc_loaded_uc_cb is an API that is registered to IPA driver.
Therefore when IPA uC is ready, IPA driver is likely to invoke this CB
into our driver. If it is invoked after a WLAN idle shutdown, ipa_obj
use-after-free will happen because ipa_obj is destroyed as part of
shutdown.

g_ipa_is_ready flag is cleared after ipa_obj is destroyed. Therefore
fix is to add a ipa_cb_is_ready check in wlan_ipa_uc_loaded_uc_cb to
ensure ipa_obj is allocated and not freed.

Change-Id: Id422c0780ab864936d9bc812a6078ea4c20ef2af
CRs-Fixed: 2975057
2021-07-07 09:11:22 -07:00
Liangwei Dong
a97eee4294 qcacld-3.0: Use target BW 80Mhz for Pre CAC on 5G
At present the pre CAC is done based on original SAP's BW,
but usually the original SAP is on 2G and BW <= 40Mhz. The
requirement from user is to have higher BW on 5G. Hence, select
higher BW supported by SAP phymode to do pre CAC and move 2G
SAP to 5G pre CAC channel when pre CAC done successfully.
Also set the default MAX bw pre CAC to 80Mhz based on current user
request.

Change-Id: I3115da8eb649238da50b223c2587db96125ec813
CRs-Fixed: 2984084
2021-07-07 09:11:18 -07:00
Vulupala Shashank Reddy
9c1a9d9fa9 qcacld-3.0: Fix 6GHz channel freq for rx mgmt in packet capture
Fill freq received from FW directly.

Change-Id: I8a0470e6b22f8c9176586825691af160c6540348
CRs-Fixed: 2966863
2021-07-07 06:41:32 -07:00
Alan Chen
62341748f0 qcacld-3.0: Add new ini item enable_dynamic_pcie_gen_speed_switch
Add new ini item enable_dynamic_pcie_gen_speed_switch for enabling
dynamic PCIe gen speed change.

Change-Id: I7dde4e40e56bf894c7edd0805d09425444648e6b
CRs-Fixed: 2977079
2021-07-07 06:41:27 -07:00
Bapiraju Alla
660d463b88 qcacld-3.0: Add partner links information in join request
Add partner links information in join request to proceed for ML
connection in best links selected in ML scoring.

Change-Id: I463264d9c78f3ab061d54a3245b15174d0940910
CRs-Fixed: 2961881
2021-07-06 17:33:21 -07:00
Utkarsh Bhatnagar
8a5ed473ea qcacld-3.0: Change EDCA ini from CFG_STRING to CFG_INI_STRING
Change ini type of all ini related to  edca_ani, edca_wme,
edca_etsi. Also, use cfg_get instead of cfg_default for
fetching these.

Change-Id: Iba252f81d236c5b217e1d86c6511bbc52c2900b7
CRs-Fixed: 2952537
2021-07-06 15:20:30 -07:00
bings
5478a21533 qcacld-3.0: mlo sap bss start for hdd layer
Implement mlo sap bss start for hdd layer.

Change-Id: Id2fc9c735573262d5502e1538851c9554c919a21
CRs-Fixed: 2973191
2021-07-06 02:15:53 -07:00
Srinivas Dasari
c65ead975b qcacld-3.0: Let IOT APs recover by avoiding back to back DELBA
Station sends the BA and upgrades to the next possible BA window
size upon receiving all frames successfully from the current
window. Some IOT APs go out of sync from BA window size of the
station when AP fails to receive the BA sent from station. AP
transmits the frames again with previous window sequence number
and won't be ack'ed by station hardware as BA window has already
moved ahead. So, station deletes the upgraded BA and tries
to fallback.

Ideally, AP is supposed to consider the fact that "the previous
window transmission was successful when station upgrades to next
window size". But some APs take little longer time to
recover/upgrade to next window size. Don't delete the BA
immediately and have some tolerance(3 seconds) as the previous
negotiated BA just got deleted.

Change-Id: I6b277223f02dac521316cec20bd5d958785cc2e9
CRs-Fixed: 2970714
2021-07-06 02:15:48 -07:00
Pragaspathi Thilagaraj
70e6c4fc40 qcacld-3.0: Add support to send set IE request in cnx manager
With connection manager enabled, the send IE request is
not sent after connection.

Add support to send set IE request after connection is
successful in connection manger.

Change-Id: I2f30eb67ba295e0ca416ccb40e12a376e0d7a47e
CRs-Fixed: 2976734
2021-07-02 07:24:42 -07:00
Li Feng
3d05280c82 qcacld-3.0: Avoid fw crash in some wow case on third party
Due to the limitation on third party platform, add ini to take
special care of the below wow case to avoid fw crash.
The sap/p2p_go shall kick out all the connected sta/p2p_gc and
then go to suspend if d0wow/d3wow is not supported.
Although there is wakelock try to prevent suspend after tdls link
setup, it won't take effect because auto sleep mechanism is not
supported on some third party platform, so teardown tdls link
by force before suspend.

Change-Id: I14bfe32f04cfc34d4f55a09820e42e65a1d9f925
CRs-Fixed: 2935295
2021-07-02 05:02:36 -07:00
Huashan Qu
883f3f308c qcacld-3.0: Fix KW issues in ipa files
Fix KW issues in ipa files, add ipa_obj null check before use.

Change-Id: Ie6f69fda7d50b8ece9917db43a838e0f3852393f
CRs-Fixed: 2979119
2021-07-01 13:44:16 -07:00
Jia Ding
b98114c954 qcacld-3.0: Enable to parse user configured edca params
Currently only default values of local edca params are used for
WME and ETSI profiles. Therefore expose them as INI config options
so that driver is able to parse user configured edca params used
locally by SAP.

Change-Id: I81759570160a67e26f68501576d71a5fd3568cd7
CRs-Fixed: 2976143
2021-07-01 11:23:12 -07:00
Li Feng
4548644d92 qcacld-3.0: Set moddtim dynamically in the li offload mode
Extend hdd_config_modulated_dtim() to configure moddtim
dynamically in the both non li offload and li offload mode.

Change-Id: I8669ec618d4aa9cd87c4c234972ca500c98119b6
CRs-Fixed: 2970090
2021-07-01 04:24:12 -07:00
sheenam monga
9742335f49 qcacld-3.0: keep pmo_enable_igmp_offload inside igmp feature flag
Currently ucfg_pmo_enable_igmp_offload is conditionally compiled
with feature flag WLAN_FEATURE_BIG_DATA_STATS which may introduce
compilation issue when WLAN_FEATURE_BIG_DATA_STATS is disabled
but WLAN_FEATURE_IGMP_OFFLOAD is enabled.

Fix is to use WLAN_FEATURE_IGMP_OFFLOAD feature flag for
pmo_enable_igmp_offload.

Change-Id: I647ad960f5c0abc14449f0af9430f867ddcdf1e3
CRs-Fixed: 2981344
2021-07-01 02:04:03 -07:00
Deeksha Gupta
0bb0c0e680 qcacld-3.0: Print all peer info for SAP TWT get_status
Currently, host prints only one peer info instead of
all peer info as part of oem_ss initiated broadcast
SAP TWT get_status command.

Add a support to print all peer info if oem_ss sends
broadcast SAP TWT get_status command.

Change-Id: I0a617f655b7a5486582cb47a4602b30514ffae88
CRs-Fixed: 2970487
2021-06-30 02:06:57 -07:00
Abhishek Singh
a2c4145a3c qcacld-3.0: Cleanup unused params from csr structs
Cleanup unused params from csr structures.

Change-Id: I8384ad5e8c6a9d7f33ffe9bc1ed5508776f39607
CRs-Fixed: 2980067
2021-06-29 19:14:49 -07:00
Ashish Kumar Dhanotiya
89c41b9256 qcacld-3.0: Enable utf for connection manager
Add a logic to enable utf for connection manager.

Change-Id: Id8ac70c6437bb9d77cc374abbbeea17dab6f9e3a
CRs-Fixed: 2975701
2021-06-29 19:14:36 -07:00
Yu Wang
c96692a0f9 qcacld-3.0: allow DCS interference event to wake up host
Set WOW event bitmap for WMI_DCS_INTERFERENCE_EVENTID.

Change-Id: I41d9101789adfdc954e4bade974113c51c7f6141
CRs-Fixed: 2960240
2021-06-29 15:04:53 -07:00
abhinav kumar
d6c9e893a0 qcacld-3.0: Print 5g & 6g candidate rssi threshold in kmsg
In case of WTC_BTM roam trigger reason, if FW reports rssi
threshold for 5G and 6G AP via wmi_roam_trigger_reason,
Host should print it in kmsg.

If wtc_candi_rssi_ext_present is set (1), It means fw
reports 5g and 6g candidate rssi (new firmware case).
If wtc_candi_rssi_ext_present is clear (0), It means fw
doesn’t report 5g and 6g candidate rssi (old firmware case).

Host use flag "wtc_candi_rssi_ext_present" to keep backward
compatibility.

Change-Id: Idbaac2e9d470525641c152b024b8786d262e600c
CRs-Fixed: 2965025
2021-06-29 12:45:35 -07:00
Liangwei Dong
11611472b1 qcacld-3.0: Avoid duplicated thermal level change event
At present, duplicated thermal level change events are reported
on different mac with different pdev id from target. To report
the lowest pdev id's thermal level to avoid confusing the user.

Change-Id: Ia1f497ba1a1e0af946b87924de80b9fd39fe95e8
CRs-Fixed: 2976437
2021-06-29 03:54:09 -07:00
Abhishek Singh
1af81f83c6 qcacld-3.0: Code cleanup for unused csr files
Code cleanup for unused csr files.

Change-Id: I15d4e64534c960c7f048f2a7b7bbedac419700da
CRs-Fixed: 2978777
2021-06-28 14:41:29 -07:00
Abhishek Singh
5ca9e12a4e qcacld-3.0: Code cleanup for connection manager MLME/SME
Remove unused code related to ndef FEATURE_CM_ENABLE in MLME/SME.

Change-Id: I022823296d2e186450a1a1082a975eccf0b7c122
CRs-Fixed: 2977907
2021-06-28 14:41:24 -07:00
Surabhi Vishnoi
8301f863d1 qcacld-3.0: Fill the average rx rssi in rx data packets
Currently, rssi of rx data packet is not received as part of rx_tlv_hdr.
To mitigate this limitation, fill the average rx rssi received from
firmware in wmi smart monitor event which is stored in pkt_capture's
vdev_priv structure.

Change-Id: I3a1b7b766979816d6b17f05edc1c25d503edec1d
CRs-Fixed: 2958109
2021-06-28 12:24:34 -07:00
Abhishek Singh
046eb026ea qcacld-3.0: Code cleanup for connection manager in LIM/WMA
Remove unused code related to ndef FEATURE_CM_ENABLE in LIM/WMA.

Change-Id: I1697f0a6c9102e3b70ce6f7a1c78ea895d4d160b
CRs-Fixed: 2977902
2021-06-28 12:24:29 -07:00
Abhishek Singh
e9531a9d24 qcacld-3.0: Code cleanup for connection manager CSR
Remove unused code related to ndef FEATURE_CM_ENABLE in CSR.

Change-Id: I156b7ee286f666ee5d660312bf5ba2fe364165c4
CRs-Fixed: 2977584
2021-06-27 23:35:22 -07:00
Surabhi Vishnoi
9686432f2c qcacld-3.0: Add function to fill rssi received from target in vdev_priv
Add function to populate the rx average rssi received from target in
pkt_capture vdev_priv structure. The rx average rssi is received in
wmi smart monitor event.

Change-Id: I9206669b418a2245bb8d53920040fddea77ce06c
CRs-Fixed: 2969242
2021-06-25 14:15:01 -07:00
Balaji Pothunoori
7c35c46258 qcacld-3.0: tx aggr support based on firmware capability
Currently ini based tx aggr support disabled due to firmware
incompatibility.

This change is to enable ini based tx aggr support based
on firmware capability.

Change-Id: Id5d7197f18fafd926de889f9b69ca2be90497fd2
CRs-Fixed: 2859709
2021-06-25 11:56:19 -07:00
Balaji Pothunoori
d56c5ea434 qcacld-3.0: revert Disable TX_AGGREGATION_SIZE ini for HSP
This reverts commit I9e49ad5218f913f116cf4472f768f572740f14df
since ini based tx aggregation is configured based on firmware
capability.

Change-Id: I54541cd282eda6606e75fa347989624a0e0fef01
CRs-Fixed: 2963280
2021-06-25 11:56:14 -07:00
Surabhi Vishnoi
1954f6e25e qcacld-3.0: Register handler for wmi smart monitor event
Register handler for wmi smart monitor event in packet capture
mode in lithium. Currently, wmi smart monitor event provides
average rssi of last ten received data packets.

Change-Id: Ieeea5cbef328b04f139f54e7a42d52a3cf25824b
CRs-Fixed: 2969245
2021-06-25 09:40:17 -07:00
Vevek Venkatesan
3ca1f5fff2 qcacld-3.0: reorder error checks in ipa_uc_ol_deinit
Reorder error checks in ipa_uc_ol_deinit, so it can
return immediately if IPA config is not enabled.

Change-Id: Ibf9f30650ce201eea562baf07b6dd9b83fd8dfff
CRs-Fixed: 2977474
2021-06-25 09:40:12 -07:00
Huashan Qu
c2aa4de42f qcacld-3.0: Only zero out reassoc_ft_ie under 11r and open mode
Currently, if it's 11r connection, zero out reassoc_ft_ie in
cm_preauth_success(), it will cause FT roaming failed due to
ft ie loss with reassoc request frame.

Fix is to only zero out reassoc_ft_ie when connection is 11r
and open mode.

Change-Id: I8c1d6ca743b528c4ab0211723a792b14abe5acab
CRs-Fixed: 2976385
2021-06-25 07:19:50 -07:00
Huashan Qu
fbd16dd492 qcacld-3.0: Fix LFR2 roaming related memory leak issues
Fix LFR2 roaming related memory leak issues in function
lim_send_reassoc_req_with_ft_ies_mgmt_frame() and
wlan_cm_host_roam_start().

Change-Id: I83271b57d0651d680324b67f0e6e6a3694c9ab8c
CRs-Fixed: 2976469
2021-06-24 22:24:55 -07:00
Alan Chen
27aeb4863e qcacld-3.0: Add debug log to print link vote id
Add debug log to print more details about the link vote id when
PCIe link suspend is not allowed.

Change-Id: I5069202436e0da37b8ae22f84e28ac06d35002b5
CRs-Fixed: 2964957
2021-06-24 16:32:02 -07:00
Huashan Qu
f75e881d71 qcacld-3.0: Return success when firmware doesn't support 11k offload
Return success when firmware doesn't support 11k offload, or else
subsequent roaming related wmi commands have no chance to issue.

Change-Id: I69d55cca63f2b7ab4787295a2825159395cf2a11
CRs-Fixed: 2976163
2021-06-24 11:41:18 -07:00
abhinav kumar
29bb6774c1 qcacld-3.0: Change roam state after connect complete
With commit I84c77644c6023322ac77e307b06be70ec0f58ed5, Host
allows dual sta roaming only if two STA's sessions for are
active (STA + STA) and concurrency is in DBS.

Currently, before the increment of the number of active
sessions in the policy manager, the host tries to enable
dual-band roaming. This results in dual sta roaming failure
with the reason number of active sessions equal to one.

The fix is to make sure the host should try to enable dual-band
roaming after incrementing the number of active sessions in the
policy manager.

Change-Id: I150926897cb773db979279edc54e5fb731d98e43
CRs-Fixed: 2971831
2021-06-23 08:30:07 -07:00
Vulupala Shashank Reddy
01b4e695dd qcacld-3.0: Pkt capture config for qos null and trigger frames
Provide ucfg api to configure qos null and trigger frames.

Ucfg api will send configuration to FW. Below configuration values
are allowed.

PACKET_CAPTURE_CONFIG_TRIGGER_QOS_DISABLE: disable capture for
trigger and qos frames.
PACKET_CAPTURE_CONFIG_TRIGGER_ENABLE: enable capture for trigger
frames only.
PACKET_CAPTURE_CONFIG_QOS_ENABLE: enable capture for qos frames only.
PACKET_CAPTURE_CONFIG_TRIGGER_QOS_ENABLE: enable capture for both
trigger and qos frames.

The packet capture config old value will be over written by new value.
For example, first if we configure value as
PACKET_CAPTURE_CONFIG_TRIGGER_ENABLE and then if we send config as
PACKET_CAPTURE_CONFIG_QOS_ENABLE then config is enabled only for qos.

Change-Id: I02dcd4372c7194ec3e477694ad0e2c045fe6c942
CRs-Fixed: 2967824
2021-06-22 23:04:21 -07:00
Vulupala Shashank Reddy
e2e99c1424 qcacld-3.0: Allow qos null frames in packet capture mode
Do not drop qos null frames in packet capture. so remove
check for qos null frames in packet capture mode.

Change-Id: Ie3a700cbc5a7e582ea7cfc39ebd62880265f8f7d
CRs-Fixed: 2973279
2021-06-22 23:04:16 -07:00
Kiran Kumar Lokere
73061c8eff qcacld-3.0: Config support for STA bss color collision detection
Add INI configuration support to enable/disable BSS color collision
detection offload in STA mode.

Change-Id: I9d8f096813d74242566ccae5f92e872bcaca6295
CRs-Fixed: 2965133
2021-06-22 16:17:50 -07:00
Utkarsh Bhatnagar
8248ed45ca qcacld-3.0: Change timeout for TDLS mgmt frames
Reduce the timeout to wait for TDLS mgmt to
complete from 11 seconds to 3 seconds.

Also, Allow Tx data frame if no ack/nack is
received even after 2 seconds for last data
frame.

If last data frame is sent and no ack/nack
is received within 2 seconds, then drop the
new data frame.

Change-Id: If3294908cb1399c3b4c8931b80663671400bf610
CRs-Fixed: 2966308
2021-06-22 13:14:10 -07:00
Tiger Yu
33c1df645b qcacld-3.0: Enable the wlan IPA events for P2P GO/CLI mode for qca6390
Enable the wlan IPA events for P2P GO/CLI mode for qca6390 to avoid RX
packets get dropped due to IPA interface context is not created.

Change-Id: I1e2c5e4085874280779d8d8d07efdb1f33e6d90b
CRs-Fixed: 2853271
2021-06-22 13:14:06 -07:00
Alan Chen
547911c026 qcacld-3.0: Add debug log for prevent suspend
Add debug log to find more details when PCIe link suspend is not allowed.

Change-Id: I0305f6aaabfcff630e863018a7e768531a9cb890
CRs-Fixed: 2963988
2021-06-18 03:22:16 -07:00
Gururaj Pandurangi
c627a01463 qcacld-3.0: Add Multi-link IE support
Add Multi-link IE support.

Change-Id: I0d4811c6dfb0758c284c299c90ab1832f95dff2b
CRs-Fixed: 2942499
2021-06-16 21:30:55 -07:00
Deeksha Gupta
785ab5431d qcacld-3.0: Fix status overwrite by disconnect req
Fix status overwrite by disconnect req if
WLAN_CM_SM_EV_ROAM_INVOKE_FAIL fail

Change-Id: I014965faf89c3bf8efc8b2036fc0f0466239fc19
CRs-Fixed: 2969763
2021-06-16 16:50:51 -07:00
abhinav kumar
1c4c73d081 qcacld-3.0: Dont allow SAP on indoor channel
In case of STA + SAP concurrency and STA is on indoor channel.
Dont allow SAP to turn on, irrespective of DBS, MCC or SCC mode
of concurrency, if STA + SAP concurrency not allowed
on indoor channel.

Change-Id: I79582f88e81cb2c95d2da2480d1e3d7a8b86906f
CRs-Fixed: 2967952
2021-06-16 16:50:46 -07:00
Jyoti Kumari
51ef091ec3 qcacld-3.0: Change default value of ILP profile
Change default value of ILP profile as 1

Change-Id: I3b3f39ce5c57eb4bd90456db3302482e4f87bc88
CRs-Fixed: 2968689
2021-06-15 12:22:10 -07:00
sheenam monga
989e398008 qcacld-3.0: Send BIG DATA stats req to fw based on service cap
Validate fw capability to handle big data command before sending
big data stats request to fw.

Change-Id: Id7df4c3ac36e25761938758472ea9281c174a8c9
CRs-Fixed: 2937523
2021-06-14 06:28:07 -07:00
Srinivas Dasari
ff58fd853b qcacld-3.0: Wait for key install in SAE/OWE as well
EAPOL handshake is done by wpa_supplicant in initial connection
and WPA3 roaming as well. Driver is supposed to wait for EAPOL
handshake/key complete timeout after getting roam sync indication
from firmware. But this wait is skipped with the change
change-id : Ie4f06cfcb066ae245de024b62da586aade783aec.
Add the same check again.

Change-Id: I437c6be15d7c1a3775a177c2da6c581d417c2533
CRs-Fixed: 2963548
2021-06-14 03:10:44 -07:00
Utkarsh Bhatnagar
d6a03bf7e0 qcacld-3.0: Refactor LFR3 code to use cm api
Refactor csr_roam_pmkid_req_callback to use
mlme_cm_osif_pmksa_candidate_notify and move other
unused API under CM flag.

Change-Id: I835d54804f733eddff48de38e4c545a87f34bb30
CRs-Fixed: 2965602
2021-06-10 10:21:35 -07:00
Srinivas Dasari
10e2a002a8 qcacld-3.0: Move NAN log events to RX_WORK context
Firmware sends NAN log events to driver and these are logged
with info level to capture complete NAN state machine logs in kmsg.
Currently, these events are received/processed in soft IRQ context
and causes performance issues as logs introduce delays. Move the
event registration to RX_WORK context to avoid delays.

Change-Id: I15ba20059f55f002cfe276d62e68e3cc09136a23
CRs-Fixed: 2960359
2021-06-09 19:43:09 -07:00
Jianmin Zhu
8ef9b522a7 qcacld-3.0: Failed to roam to all band after dual sta enabled
For dual sta case, if vdev0 disconnected before vdev2 disconnected, vdev0
PCL cmd retained vdev level, after vdev0 reconnected first, just allowed
intra band in PCL, only can roam in intra band.
Fix: When vdev disconnect, reset it's PCL cmd to pdev level.

Change-Id: I3ed3ec398cfe1a17d07ce716c27026b9660305bd
CRs-Fixed: 2960194
2021-06-09 03:14:54 -07:00