Commit Graph

7668 Commits

Author SHA1 Message Date
Jeff Johnson
4b47333a44 qcacld-3.0: Fix misspelling "firmare"
Fix misspelling: firmare ==> firmware

Change-Id: I625443e4333b1c9326fff93ab3f4beed2d08cc01
CRs-Fixed: 3274602
2022-08-25 22:09:22 -07:00
Jeff Johnson
72236b005a qcacld-3.0: Fix misspelling "conection"
Fix misspelling: conection ==> connection

Change-Id: Ieac47bcf8df7f83396df9076b8ef416a01efb66a
CRs-Fixed: 3274601
2022-08-25 22:09:17 -07:00
Jeff Johnson
cfd6aff18a qcacld-3.0: Fix misspellings of "adapter"
Fix multiple misspellings of "adapter:
adpater ==> adapter
adpter ==> adapter
adatper ==> adapter
adapte ==> adapter

Change-Id: If4143516cc1fa41dc12f5e8ec3effdde7b52e8f6
CRs-Fixed: 3274600
2022-08-25 22:09:11 -07:00
Jeff Johnson
20e9462c36 qcacld-3.0: Fix misspelling "exchnage"
Fix misspelling: exchnage ==> exchange

Change-Id: I3a4ce875f190e685f4b780422c91c2a25a393f9b
CRs-Fixed: 3274599
2022-08-25 22:09:05 -07:00
Jeff Johnson
ef81a4745f qcacld-3.0: Fix misspelling "lavel"
Fix misspelling: lavel ==> level

Change-Id: If355bd3a3384b35ab5c8943ead367bc86b356fa8
CRs-Fixed: 3274598
2022-08-25 22:09:00 -07:00
Jeff Johnson
1ed8f093f3 qcacld-3.0: Fix misspelling "configuation"
Fix misspelling: configuation ==> configuration

Change-Id: I6cc8a9861113a839d1ab6b4b60d4d2bde7c2018f
CRs-Fixed: 3274597
2022-08-25 22:08:55 -07:00
Jeff Johnson
140039dd71 qcacld-3.0: Fix misspelling "notifcation"
Fix misspelling: notifcation ==> notification

Change-Id: Id72243b88e9061dafa93bec4d10a3e849f7ade40
CRs-Fixed: 3274596
2022-08-25 22:08:50 -07:00
Arun Kumar Khandavalli
c14d6ed422 qcacld-3.0: Add EHT support for the max link speed
Currently EHT rates are not getting filled when the max link speed
configuration is selected. Add support to populate the eht rates
when max link speed report configuration is selected.

Change-Id: Ia93c3ec3db2f7e7ad3e4df5090f407831fdc2397
CRs-Fixed: 3272492
2022-08-25 17:40:38 -07:00
Utkarsh Bhatnagar
33f9595701 qcacld-3.0: Disable legacy netdev params for TDLS
Since TDLS and STA share a common netdev interface,
when STA connection is made in 11a, 11b, 11g mode,
netdev parameters such as TSO/checksum are disabled.
If TDLS connection is formed over this Station,
TSO remains disabled as STA netdev is used.

This might result in loss of throughput when TDLS
connection is made with 11n, 11ac, 11ax dot11mode and
with wider bandwidth TDLS, this loss is more prominent.

Hence, overwrite the netdev params to enable TSO when
TDLS connection is formed in 11ax, 11ac, 11n mode if
the station is in 11a, 11b, 11g mode.
Also, disable the TSO params when TDLS tearsdown when
STA is in 11a, 11b, 11g mode.

Change-Id: I80deaef40d70030211e75a63e1339b1407627b52
CRs-Fixed: 3245258
2022-08-24 15:54:53 -07:00
Asutosh Mohapatra
485829ae22 qcacld-3.0: Avoid calling qdf_mem_malloc for zero unsafe channels
Currently in hdd_init_channel_avoidance api we are proceeding for
malloc without checking unsafe channel count.
To address this issue add check before calling qdf_mem_malloc api
to check if unsafe channel count is greater than 0, otherwise
return from the function.

Change-Id: I4d54a6aa97a141be06695d2455fb5d6aff8db082
CRs-Fixed: 3273502
2022-08-24 12:07:56 -07:00
Aditya Kodukula
4da4073cd3 qcacld-3.0: Validate adapter before use in LL_STATS
Currently, in the function hdd_cache_ll_iface_stats,
the adapter is dereferenced without validating it.
To avoid possible null-pointer dereference, add a check
to validate the adapter.

Change-Id: I6a905db2ada90243f178237bab41fd975789b8c1
CRs-Fixed: 3273525
2022-08-24 04:10:50 -07:00
Pragaspathi Thilagaraj
9573437444 qcacld-3.0: Fix logging level in __wlan_hdd_cfg80211_del_key()
Del_key is called by supplicant for every key index and driver
logs error if mac address is NULL. This adds 18 ms delay due
to the kmsg error print and causes supplicant to delay
processing the EAPOL-1 frame, which leads to AP retrying
EAPOL-1 frame.

So change error log level in __wlan_hdd_cfg80211_del_key to
debug and remove redundant vdev id validation which is already
done in the caller.

Change-Id: I2dffd480a8ac2021b4683c5c5583ef9483935b5d
CRs-Fixed: 3260194
2022-08-23 15:16:48 -07:00
Hong Shi
c0ff3212e9 qcacld-3.0: reschedule country change work for EAGAIN error
Sometimes country change happened when driver is loading stage.
wlan_hdd_validate_context will return EAGAIN in such case and
cause country change work aborted. Reschedule country change work
in EAGAIN case so that country change work can be done.

Change-Id: I83efb6def92a2f3c2710df02f85383ccb20e89d2
CRs-Fixed: 3252694
2022-08-23 02:40:32 -07:00
Jeff Johnson
adc9857a94 qcacld-3.0: Fix misspelling "recevied"
Multiple instances of the misspelling "recevied" are present, so
replace them with the correct spelling "received."

Change-Id: Ie0421bc472d5c25f1fbcc5e8c9333e0283a6e129
CRs-Fixed: 3271103
2022-08-22 13:14:39 -07:00
Qun Zhang
76d37c0d18 qcacld-3.0: Disallow channel switch only when sta_sap_scc_on_dfs_chnl is 1
For non-dbs HW, per INI g_sta_sap_scc_on_dfs_chan description, standalone
SAP should be allowed to do channel switch when sta_sap_scc_on_dfs_chnl
is 0 or 2.

Change-Id: I380791debed79d4de6d468afe0c8956bf6f11ddb
CRs-Fixed: 3265470
2022-08-22 11:30:16 -07:00
Yu Wang
6b8d933d9e qcacld-3.0: add vendor command support for CoAP
Add support for CoAP(Constrained Application Protocol) realted
vendor command QCA_NL80211_VENDOR_SUBCMD_COAP_OFFLOAD.

Change-Id: I830379ca0dda765add5e1ddd949fd3e51dcb80e6
CRs-Fixed: 3254544
2022-08-21 22:18:24 -07:00
Liangwei Dong
68da70f0d2 qcacld-3.0: Move GO to other band for SAP starting on 3vif conc
In GO+STA+SAP concurrency, if GO is MCC with STA, the new SAP
will not be allowed in same MAC. FW doesn't support MCC in same
MAC for 3 or more vdevs. Move GO to other band to avoid SAP
starting failed.

Change-Id: Ia19abd1b11f7416797af3e975ab8ffde9037c11f
CRs-Fixed: 3262185
2022-08-19 08:14:48 -07:00
Liangwei Dong
ba8cf63a22 qcacld-3.0: Allow SAP+P2P GO+STA SCC on same band
If SAP+P2P GO SCC on 2.4 GHz, the new STA interface will be
allowed connect to AP on 2.4 GHz SCC channel of SAP/GO or
5/6 GHz band AP. And do same for 5 GHz band.
For 3rd SAP/P2P GO coming up, try to force SCC to
existing same band SAP/GO home channel if any, to avoid the
concurrency check failure.

Change-Id: I363e9c8307ac4cfa70d6d00bc0d01a545c3eca26
CRs-Fixed: 3249205
2022-08-19 06:40:19 -07:00
Arun Kumar Khandavalli
6c9cb8b5b4 qcacld-3.0: Add a new flag to enable the mlo key operation support
Add a new flag to enable the Mlo key operation support.

Change-Id: I528526dd3787ae9ff50d00be0d8e36e33443557c
CRs-Fixed: 3267043
2022-08-19 05:05:31 -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
Xiaoning Ma
a7fcc140bb qcacld-3.0: Add fixed FDD mode to btc_chain_mode
Previously when chains of BT and WLAN 2.4 GHz are separated,
hybrid mode will be used for BTC. Now adding fixed FDD mode
to fulfill different BTC scenarios.

Change-Id: I3a4d6919319f0f66e6b816566f24f4ac11b2c669
CRs-Fixed: 3244045
2022-08-19 01:53:35 -07:00
Vinod Kumar Pirla
91b87f3ddc qcacld-3.0: Configure add key on link MAC address for MLO
Unencrypted DHCP frame is sent when add key is configured
on MLD address for secure MLO association.

In secure MLO assoication, configure add key on the link MAC
address.

Change-Id: Id1c953569a1f115beb5c0dcb816f08126901a05f
CRs-Fixed: 3270887
2022-08-18 21:53:25 -07:00
Yu Wang
20e6c8ebe1 qcacld-3.0: enable trace log for CoAP component
Enable trace log for CoAP(Constrained Application Protocol)
component.

Change-Id: I4b49bdc48547617e943353c9b76d88870fe2ff05
CRs-Fixed: 3257886
2022-08-18 05:11:42 -07:00
Vinod Kumar Myadam
35968ab412 qcacld-3.0: Set wdev for vendor event OEM_DATA_INDEX
Currently, host sends wdev as NULL to cfg80211_vendor_event_alloc,
this allows userspace to process nl_cmd for
QCA_NL80211_VENDOR_SUBCMD_OEM_DATA_INDEX event with 1st interface
which is P2P in supplicant instead of WLAN interface.

Set wdev with the proper value for STA interface to avoid processing
nl_cmd with P2P interface by userspace.

Change-Id: I3376640226356bddc57d9c13e6c438498ee58326
CRs-Fixed: 3262753
2022-08-16 15:18:11 -07:00
nakul kachhwaha
55b4c8f1b5 qcacld-3.0: Add sysfs support for traffic end indication
Add sysfs entry to configure status and dscp values
used by application for regular traffic and last packet
to mark traffic end.

Change-Id: Ib0e0aaf64e24da3b402b695840850b01c19a4991
CRs-Fixed: 3207451
2022-08-16 09:14:22 -07:00
nakul kachhwaha
49baf5f10c qcacld-3.0: Add traffic end indication support in DP component
Add ucfg APIs to set/get feature status and dscp
values and structure to store values

Change-Id: I839c89696581b8aefd873a120d938a5cbbc32899
CRs-Fixed: 3255692
2022-08-16 07:40:09 -07:00
Wu Gao
c749f69591 qcacld-3.0: Fix compilation issue
Wrong code logic causes compilation issue. This change added braces
and fixed compilation issue.

Change-Id: I3503d26cf003f4b11e03d5df8d666866e0e1fc54
CRs-Fixed: 3267860
2022-08-15 17:17:27 -07:00
Aditya Kodukula
2b0915517c Revert "qcacld-3.0: Idle shutdown in suspend prepare"
This reverts Change-Id: Id1f5172a7fc1792c83c8c1c20127de815f7e4980
to avoid deadlock between cnss_pm_notify and unregister_pm_notifier
during soft driver unload.

Change-Id: Ic82db9dc0ca9d6686df99926335af27abc61cdb5
CRs-Fixed: 3266366
2022-08-13 02:59:12 -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
Ashish Kumar Dhanotiya
77f4615eac qcacld-3.0: Add ini to get wifi features from fw
Based on new requirement add an INI to enable/disable
get wifi features support.

Change-Id: I45ec54ac781724c2eaffa657f203db3abae2b74e
CRs-Fixed: 3266164
2022-08-12 18:55:21 -07:00
Ashish Kumar Dhanotiya
2490a83a25 qcacld-3.0: Add support to get feature set info
Based on the new requirement, add support to get requested
feature set info from different feature components.

Change-Id: I1bfc097c8ae8c4ab678d4dc07b7932cf3272d851
CRs-Fixed: 3262868
2022-08-12 18:55:15 -07:00
Ashish Kumar Dhanotiya
f7b3e8f61a qcacld-3.0: Free wifi features sysfs file only if it is created
Currently driver creates sysfs features file if fw provides
file name in oem data event, but it tries to free without
any condition, this leeds to an unexpected behaviour if
fw does not provides file name in oem data event.

To address above issue, free wifi features sysfs file only
if fw provides file name in oem data event.

Change-Id: Ida6a69846638ba6edd5d0e5322323ef66433b364
CRs-Fixed: 3266097
2022-08-12 13:48:42 -07:00
Ashish Kumar Dhanotiya
bfcf3d08f6 qcacld-3.0: Cache feature set file name and oem data info
Based on new requirement, cache feature set file name and
oem data info.

Change-Id: I01da429c856a99581558a1f81b43a1e7102a7846
CRs-Fixed: 3262817
2022-08-12 13:48:35 -07:00
Ashish Kumar Dhanotiya
d9dd8cc039 qcacld-3.0: Create wifi features sysfs file
Based on new requirement, create wifi features sysfs file.

Change-Id: I4ff20e515f87ffc43f9f315582340922106e990f
CRs-Fixed: 3262797
2022-08-12 13:48:27 -07:00
Ashish Kumar Dhanotiya
b50ea97a85 qcacld-3.0: Create wifi kobject if not created by platform driver
Currently host driver creates wifi kobject based on  dump in
progress feature flag, because of this, other features can not
use this wifi kobject.
To address this issue, create wifi kobject if platform driver
does not creates this.

Change-Id: I0ce3616cd229e58de5ab929555be6e1a9eb09c6a
CRs-Fixed: 3262667
2022-08-12 13:48:15 -07:00
Bing Sun
9fa142d9f6 qcacld-3.0: Indicate operating frequency to SON when radar is detected
When radar is detected in EasyMesh agent, it should update its current
operating frequency as disallowed due to radar detection to EasyMesh
controller through channel preference report frame.

Indicate operating frequency to SON when radar is detected, so that
EasyMesh agent can notify it to EasyMesh controller.

Change-Id: I83de68c8a3aecd3588d14f59081d6676304093b9
CRs-Fixed: 3262578
2022-08-12 13:48:02 -07:00
Jianmin Zhu
ebfe40c98a qcacld-3.0: Update linkspeed state to F/W for roaming hdd part
To avoid unmeaningful roaming, when low RSSI trigger,
only roam when rx linkspeed is also bad.
Steps:
1. F/W indicates feature supported by:
	wmi_service_linkspeed_roam_trigger_support
2. App sets vdev rx link speed threshold by vendor cmd.
3. Bus_bw_work gets rx link speed from data path periodically.
4. If found rx link speed change from good to poor, or poor to good, send
	to F/W.
5. F/W low rssi roaming is triggered only when both RSSI and link speed are
	poor.

Change-Id: I38c60c55cca80ad9c71fcffda6712ac5984daef0
CRs-Fixed: 3264981
2022-08-12 08:24:47 -07:00
Aditya Kodukula
3357aee444 qcacld-3.0: Add a debug print for soft driver unload
Add a debug print in wlan_hdd_main.c to to differentiate
between hard and soft driver unload.

Change-Id: Ia1f2c7d90e86c03e94a2ef20d8d7eef5acc316f0
CRs-Fixed: 3266415
2022-08-12 04:27:57 -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
Arun Kumar Khandavalli
f24500ae23 qcacld-3.0: Add link_id to various key operations for MLO
Receive the link_id for the key specific operations for mlo

Change-Id: Ia91cd2f5d3759a09d6399c5365fe5f2b3a55293e
CRs-Fixed: 3250836
2022-08-12 00:39:43 -07:00
Vinod Kumar Pirla
3364ad4472 qcacld-3.0: RTPM sync lock for system suspend and resume
If driver SSR has happened after system suspend then RTPM lock
acquired during system suspend is not getting released which
leads to mismatch in RTPM reference count.

Use RTPM prevent suspend sync API to ensure system is in
resume state before acquiring RTPM prevent suspend lock
and in the driver SSR sequence, call to RTPM lock deinit
cleans up any acquired lock.

Change-Id: Icf1d564aa74d9c081a71fe173895e4d29b95c90b
CRs-Fixed: 3254539
2022-08-11 15:22:51 -07:00
Surabhi Vishnoi
4783a4c4f4 qcacld-3.0: Store new ACS vendor attribute in SAP ACS config
Parse and store new ACS vendor attribute
QCA_WLAN_VENDOR_ATTR_ACS_LAST_SCAN_AGEOUT_TIME in SAP ACS
config.

Change-Id: If50224780192ed7b587505e973a8dabeab3459b2
CRs-Fixed: 3239372
2022-08-11 12:43:01 -07:00
Balaji Pothunoori
0eb7674f1b qcacld-3.0: start sap if restriction mask is not set for unsafe channels
Currently sap is not starting if all channels configured as coex
unsafe and if restriction mask is not set.
This change is to select unsafe channel if restriction mask is
not set and start the sap.

Change-Id: I4ccf887655066da6d6b50715f631dde6edfda598
CRs-Fixed: 3260305
2022-08-11 09:46:58 -07:00
Ashish
368a345073 qcacld-3.0: Initialize async oem data event before WMI INIT
With the new requirement, host can receive oem data event
immediately after it sends WMI INIT command to fw.
To process this event, initialize async oem data event before
it sends the WMI INIT command to fw.

Change-Id: I58cc4fac6c6c0f65305b80d04ab22ba867f2b679
CRs-Fixed: 3262660
2022-08-11 06:54:56 -07:00
Ashish Kumar Dhanotiya
765b3a80ee qcacld-3.0: Cleanup previous ap beacon ap ie info correctly
Currently host driver does not cleanup previous ap beacon ie
info if it does not support 11AX, which is leading to memleak.

To address above issue, free previous ap beacon ie info
irrespective of 11AX support.

Change-Id: Ia96e4790a7b6fc8805272367ef7aee985ef931b1
CRs-Fixed: 3258173
2022-08-11 00:22:54 -07:00
Amit Mehta
5bda120bfa qcacld-3.0: IPA offload enable compilation issue fix
Currently there is compilation issue in case of IPA
offload enable case due to code changes done as
part of DP componentization.
Fix compilation issue by adding calls to DP component APIs

Change-Id: Id545f67bff75682ceccba5725f956a89c6b9b9f8
CRs-Fixed: 3259293
2022-08-08 03:46:47 -07:00
Rahul Gusain
b536b7e2df qcacld-3.0: Register for MGMT auth frames on NAN iface
Authentication frames(with type PASN, value 7) get
exchanged between NAN peers in NAN pairing protocol.
These exchanges happen on NAN interface.
But currently, NAN interface doesn't support auth mgmt
frame processing.
Add entries in wiphy->mgmt_stypes for NAN iface also
to support this.

Change-Id: I2e4f53af737c80e8b7eae5883e95f32ff98d4f00
CRs-Fixed: 3257646
2022-08-08 03:46:41 -07:00
Liangwei Dong
b10bfd4473 qcacld-3.0: Fix P2P GO start on 6 GHz failed
At present, 6 GHz allow check is not applicable to P2P GO interface
type in API hdd_get_ap_6 GHz_capable, thus start GO on 6 GHz failed.
Fix by call policy_mgr_is_6ghz_conc_mode_supported API to check
interface type support 6 GHz or not.

Change-Id: I96bda834e65d0e1fe7301ef695234df9088f50a6
CRs-Fixed: 3253893
2022-08-04 00:32:58 -07:00
Arun Kumar Khandavalli
ceda8940f8 qcacld-3.0: inform frame via netdev adapter even in disconnected state
currently when the frame is received driver checks if its a ml
association and if the frame is received on non-assoc link it
gets the assoc link adapter and sends the frame to the userspace.

In the current issue when the sta is not connected and a frame is
received on the secondary link for which netdevice is not registered
it is sending on the same unregistered netdevice resulting
in system instability.

If the frame is received on the non registered adapter, get the
netdev adapter and send the frame to userspace.

Change-Id: I8b2b6315df211622cdcd3853b5ca0ece7edb84fc
CRs-Fixed: 3258365
2022-08-03 17:31:32 -07:00
Amit Mehta
eea57c0196 qcacld-3.0: Get DP interface by netdev
Currently while attaching vdev to DP interface
we are searching DP interface based on the Adapter
MAC address, but if STA MLD and Link address is
same, we were getting the Link Interface instead of
MLD interface, which was causing the EAPOL packet to drop.

To Fix the issue, instead of searching for DP interface
based on MAC address, use netdev to search DP interface.

Change-Id: I50c7974c053717b496fab0eeb89774af382b4313
CRs-Fixed: 3258684
2022-08-03 11:57:14 -07:00