Commit Graph

26453 Commits

Author SHA1 Message Date
Madan Koyyalamudi
695c56452b Release 5.2.1.29J
Release 5.2.1.29J

Change-Id: I30a266a3eab6c80bbeb5b89d0f8063a352e01c91
CRs-Fixed: 774533
2022-07-18 14:20:07 -07:00
Amit Mehta
8c142b3f4d qcacld-3.0: Add change to set high vote level
Add change in bus bandwidth to set set high bus vote
level into DP component introduced by change to
skip special frame rate info update.
Change: Ie8989dde506c654525099f9d154abe93162a0bac

Change-Id: Ib0a2241ac63536fe885c89715d70c778af444f2d
CRs-Fixed: 3245764
2022-07-18 14:20:07 -07:00
Amit Mehta
08f5a4c814 qcacld-3.0: Move Enable detection of data stall events to DP component
Move change: Id4fd7f10f0806a39c5bdb7b8c097c26894dc5340
Enable detection of data stall events to DP component

Change-Id: I9eab2f29739cd0159f202a3a95f4a4baa70cb47d
CRs-Fixed: 3230891
2022-07-18 14:20:01 -07:00
Karthik Kantamneni
7d1e47bb27 qcacld-3.0: Fix MLO adapter to DP interface mapping
In MLO case two link adapters will be present, only one link adapter
shares vdev with MLD adapter other link adapter has its own vdev.
But currently for both link adapters vdevs same MLD adapter mac is
provided fix this by checking shared vdev link adapter.

Change-Id: I54c9c270052bfa1b6884d742a20e01a08a4df39c
CRs-Fixed: 3200644
2022-07-18 03:22:07 -07:00
Amit Mehta
aed549d3a9 qcacld-3.0: build script changes for DP component
build script changes to include DP component files

Changes were backed out because of association issue
introduced by MLO adapter to DP interface mapping issue
and to avoid any further regression.
Re-introduce changes after preforming complete sanity
to vet out any regression which might be introduced
by these changes.

Change-Id: I8c185e7496a8c7315b7bdd2c0bd98bb60a047f86
CRs-Fixed: 3198619
2022-07-18 03:21:56 -07:00
Amit Mehta
08d727ece3 qcacld-3.0: Code cleanup from HDD module
Cleanup HDD code which is refactored to
DP component.

Changes were backed out because of association issue
introduced by MLO adapter to DP interface mapping issue
and to avoid any further regression.
Re-introduce changes after preforming complete sanity
to vet out any regression which might be introduced
by these changes.

Change-Id: If5f1cf432b5c02848202debee7de696b2f20be9a
CRs-Fixed: 3198619
2022-07-18 03:21:19 -07:00
Amit Mehta
e5e83b4185 qcacld-3.0: Update HDD to use DP component APIs
All the DP specific code logic is moved out of HDD to
new DP component. So update HDD module to use newly
introduced DP component APIs for DP specific operations.

Changes were backed out because of association issue
introduced by MLO adapter to DP interface mapping issue
and to avoid any further regression.
Re-introduce changes after preforming complete sanity
to vet out any regression which might be introduced
by these changes.

Change-Id: I377aecc4343e75dd17d279a2eb84fc49e737e784
CRs-Fixed: 3198619
2022-07-18 03:21:04 -07:00
Amit Mehta
8d29b98384 qcacld-3.0: Add HDD callback API for DP component
Add and register HDD callback APIs with DP component.
With this changes DP component will be able to call
HDD APIs which cannot be moved to DP component,
and to get information from HDD.

Changes were backed out because of association issue
introduced by MLO adapter to DP interface mapping issue
and to avoid any further regression.
Re-introduce changes after preforming complete sanity
to vet out any regression which might be introduced
by these changes.

Change-Id: Ie55ab16cb25a93061d09684a9eda5738f4e151a8
CRs-Fixed: 3198619
2022-07-18 03:20:50 -07:00
Amit Mehta
95806ea1ee qcacld-3.0: HDD changes to incorporate new DP component
HDD changes to incorporate new DP component

Changes were backed out because of association issue
introduced by MLO adapter to DP interface mapping issue
and to avoid any further regression.
Re-introduce changes after performing complete sanity to
vet out any regression which might be introduced by these changes.

Change-Id: I058b9121c8490e9b0906421a35e01c55a1a7c25a
CRs-Fixed: 3198619
2022-07-18 03:17:02 -07:00
Madan Koyyalamudi
2b4926c710 Release 5.2.1.29I
Release 5.2.1.29I

Change-Id: I6afcc0a08dddb25ace80e8eb1328ac79279e397c
CRs-Fixed: 774533
2022-07-18 02:50:55 -07:00
Rahul Gusain
5b5098762d qcacld-3.0: Fix the ndi set failure in case of non-random mac
Currently in host driver, for non-random mac addr, ndi mac addr
pointer is null, so, hdd_ndi_set_mode function returns error.

To fix this, dynamic mac address is updated for only randomized mac
in hdd_ndi_set_mode function. Thus, null pointer check is removed
and function does not return the error.

CRs-Fixed: 3243783
Change-Id: I27fff615ec66acfd86bd13449b79b0d36469803f
2022-07-18 02:50:54 -07:00
Madan Koyyalamudi
e991a299ce Release 5.2.1.29H
Release 5.2.1.29H

Change-Id: Ief4ad661cbd2479f583e09a550abf48e00861be9
CRs-Fixed: 774533
2022-07-18 01:03:57 -07:00
Wu Gao
71b3a1294c qcacld-3.0: Check length of ciphered text and avoid to OOB read
Potential OOB access ciphered text since no length check before reading.

Change-Id: I2332e14e0b28286018bcf5bcfe25a1925f46cf0f
CRs-Fixed: 3241763
2022-07-18 01:03:56 -07:00
Yu Wang
85e898d01a qcacld-3.0: add ini to extend ITO value under WoWLAN mode
Some APs sometimes don't honor Qos null frames under WoWLAN
mode if station's ITO is too small. Introduce a new ini
gActionOUIExtendWowITO to specify AP OUIs which exhibit
this behavior. When connected to such an AP, the station's
ITO value will be extended when in WoWLAN mode.

Change-Id: I41ade7e6a6f5ca8d9b2aac2ae25427ca7fa8fe6b
CRs-Fixed: 3238200
2022-07-18 01:03:51 -07:00
Madan Koyyalamudi
d22eed8e27 Release 5.2.1.29G
Release 5.2.1.29G

Change-Id: I4130ad09b2783e3f8899e545ab39ff919bd1fb90
CRs-Fixed: 774533
2022-07-17 23:12:17 -07:00
Aditya Kodukula
2d9a20e46f qcacld-3.0: Add infra to support DBAM feature
Add infra to support Dedicated Bluetooth Antenna Mode (DBAM)
feature. It is used to switch between dedicated antenna for
BT and shared antenna for WLAN and BT.

Change-Id: I20b08a2fd446da4e3c17813aa64e368750286114
CRs-Fixed: 3239896
2022-07-17 23:12:16 -07:00
Madan Koyyalamudi
49308343ab Release 5.2.1.29F
Release 5.2.1.29F

Change-Id: I11bb1aa91eaa9fe00af5802d8ee74c15a506624d
CRs-Fixed: 774533
2022-07-16 07:35:01 -07:00
Bing Sun
8d43935c04 qcacld-3.0: Fix channel width issue for EHT
If EHT operation information field is present, it means EHT connection
has different channel bandwidth with legacy mode. We should update
pAddBssParams->ch_width with pe_session->ch_width which considers
channel width in EHT operation IE.

Otherwise, channel width is not set correctly for EHT connection.

Change-Id: Idcac0382fb45df389b99711abcf0140caa80728f
CRs-Fixed: 3239711
2022-07-16 07:35:01 -07:00
Madan Koyyalamudi
701b724d67 Release 5.2.1.29E
Release 5.2.1.29E

Change-Id: Ifc0576ae0f19ec958fcfe45976e5ad99c661c651
CRs-Fixed: 774533
2022-07-15 20:49:08 -07:00
Liangwei Dong
42b30770a5 qcacld-3.0: Fix SBS list freq list missing in PCL
sbs_num contains the sbs_freqs array size. Do not clear it
to 0 before call get_sbs_chlist API. Otherwise the size_of_sbs
will be 0 and can't add sbs freq to list.

Change-Id: I318edd12978f73e9f75ab5298c36ceec57c5df6d
CRs-Fixed: 3243780
2022-07-15 20:49:08 -07:00
Madan Koyyalamudi
517c5d9ae8 Release 5.2.1.29D
Release 5.2.1.29D

Change-Id: Iba9f7f9ee91af7f6bac31de61d39abd4317a811d
CRs-Fixed: 774533
2022-07-15 13:34:53 -07:00
jinbliu
95d8c151df qcacld-3.0: Skip special frame rate info update
To avoid unmeaningful rate fluctuation, when report
rx linkspeed to upper layer, exclude special frames:
arp/ssdp/dhcp/eapol/ipv6 NA/NS/DHCPV6 in low rate.

Change-Id: Ie8989dde506c654525099f9d154abe93162a0bac
CRs-Fixed: 3199636
2022-07-15 13:34:52 -07:00
Madan Koyyalamudi
37c0c80f0f Release 5.2.1.29C
Release 5.2.1.29C

Change-Id: If17e0f6e7543b6896136aa1ff1f0df9da1c756a5
CRs-Fixed: 774533
2022-07-15 11:51:24 -07:00
Vulupala Shashank Reddy
487a76179b qcacld-3.0: Fix vdev reference count in packet capture
In pkt_capture_datapkt_process and pkt_capture_mgmt_rx_data_cb
pkt_capture_vdev_put_ref is missing in error case, because of
which vdev ref count is not becoming zero when vdev is down.

Add pkt_capture_vdev_put_ref in all the error cases.

Change-Id: I55353356f059a367d57c64625f404e3940235be1
CRs-Fixed: 3228599
2022-07-15 11:51:24 -07:00
Madan Koyyalamudi
fbb109fc82 Release 5.2.1.29B
Release 5.2.1.29B

Change-Id: I3edb2e43cc8e918eed2e55ccb70bf2db494f6d41
CRs-Fixed: 774533
2022-07-15 07:15:30 -07:00
Liangwei Dong
809b5ce8dc qcacld-3.0: Validate nla_nest_start return value
The return value of nla_nest_start can be NULL. Add validation
to "radio" to fix potential invalid memory access.

Change-Id: Iea6b0008e72548e8e4e26cd5eb87a9c5c2dad2c6
CRs-Fixed: 3242444
2022-07-15 07:15:30 -07:00
Madan Koyyalamudi
9a4639468d Release 5.2.1.29A
Release 5.2.1.29A

Change-Id: I93c911420fc76bc47552405df50cc14e5fcdaf91
CRs-Fixed: 774533
2022-07-15 05:01:17 -07:00
Tiger Yu
3c7cbe4fd7 qcacld-3.0: Add VCPU_TIMESTOLEN for Hypervisor system
Per feedback from some hypervisor system vendor, a virtual CPU can
have some stolen time imposed by the physical CPU scheduling, this
can result in some tasks' handling taking longer time than expected,
even when spin lock is held by code running on the vCPU.

With the stolen time existing, wlan driver's timeout for spinlock
holding must be different on hypervisor systems as compared to metal
platforms.

Change-Id: I607895f8afc9ad745a7a68939202a66560f31637
CRs-Fixed: 3242535
2022-07-15 05:01:16 -07:00
Madan Koyyalamudi
fe5ea968e0 Release 5.2.1.29
Release 5.2.1.29

Change-Id: I601484b011001324dc3321bf23479efe2c7c2236
CRs-Fixed: 774533
2022-07-15 02:55:51 -07:00
Jingxiang Ge
8a365296f2 qcacld-3.0: Report tim bcn/tim err bcn to userapce
Such statistics are used for power saving feature.
Report to userspace by
QCA_WLAN_VENDOR_ATTR_LL_STATS_TOT_TIM_BCN
QCA_WLAN_VENDOR_ATTR_LL_STATS_TOT_ERR_TIM_BCN

Change-Id: Idc447a53a74429336f5e2d25971a5ac9390fb9f7
CRs-Fixed: 3221119
2022-07-15 02:55:51 -07:00
Jia Ding
01698ae469 qcacld-3.0: Support EAPOL over NL on IPA RX path
For latest chipsets netlink interface has been used for EAPOL handshake
for all device modes. Hence support the same on the IPA RX exception
path for SAP and STA modes.

Change-Id: I85fabf8d3da54fb4b204458c0a62e8dde8d1d17e
CRs-Fixed: 3241236
2022-07-15 02:55:44 -07:00
Sai Pavan Akhil Remella
46a85a4bfc qcacld-3.0: Fix invalid tx power in iw dev
Host driver rate limits successive get_txpower
calls within 3 seconds, and sends cached stats
from the hdd_stats. However, max_tx_power is
not updated in the hdd_stats. Therefore,
the cached tx power is always 0 dBm.

Also, the hdd_stats would be only updated when
CP stats are received from the firmware for
get_station/dump_station calls. get_station is not
periodically queried for SAP interface from the
framework. Therefore, tx power for SAP interface will
always be 0 even if hdd_stats gets updated.

To fix this, instead of hdd_stats, return the
max tx power from the pdev stats cached on the pdev.

Change-Id: I0c8d8baab790c7344bd8913158f8eda63736474e
CRs-Fixed: 3230649
2022-07-15 02:55:36 -07:00
Madan Koyyalamudi
b6219119a0 Release 5.2.1.28Z
Release 5.2.1.28Z

Change-Id: Ic4f8838c02e0f218fd1c3d06ea0f19ed0543a25e
CRs-Fixed: 774533
2022-07-14 23:21:06 -07:00
Surya Prakash Sivaraj
3c1e1b799d qcacld-3.0: Do not allow 6 GHz SAP in non-WPA3
Reject the SAP if the frequency is 6 GHz and
the security is non-WPA3 AKM suite.

Also, use the ini "check_6ghz_security" to
allow the 6 GHz SAP to be operational on an
open security mode for test purposes.

Change-Id: Ifc57656a556ef5b6829ed56bb1ec360b5b84379e
CRs-Fixed: 3176629
2022-07-14 23:21:05 -07:00
Madan Koyyalamudi
351b51c759 Release 5.2.1.28Y
Release 5.2.1.28Y

Change-Id: Ic107f08cada0db42d30aea664346a1c93fcd4110
CRs-Fixed: 774533
2022-07-14 21:08:56 -07:00
abhinav kumar
34c4444ace qcacld-3.0: Update sanity check in cache_station_stats_cb
Update sanity checks for a NULL pointer in
cache_station_stats_cb to make it similar to 2.0.8 and
2.0.9 branch code.

Change-Id: I36e7e3548bf5d6bcf278e40d03f694daeeccf64c
CRs-Fixed: 3243090
2022-07-14 21:08:55 -07:00
Madan Koyyalamudi
46b76811d1 Release 5.2.1.28X
Release 5.2.1.28X

Change-Id: I0510ca8c07140494d297b92ee1e50420a9a8c5ef
CRs-Fixed: 774533
2022-07-14 14:48:34 -07:00
Paul Zhang
6f1e1b390a qcacld-3.0: Correct ML IE length for ML prb req
Currently, the ML IE length in ML probe request is including 2 bytes
of element header. It causes the peer could not parse the ML IE
properly and response the proble response unexpectly.

To resolve this issue, correct the ML IE length for ML probe request.

Change-Id: I7cefb6d04a28c51ad7aa6fb894c77b005adbd775
CRs-Fixed: 3238761
2022-07-14 14:48:34 -07:00
Madan Koyyalamudi
a70175e295 Release 5.2.1.28W
Release 5.2.1.28W

Change-Id: I2fc866735739fdc6f4e2578cfd8d5ad2e3ccf2e5
CRs-Fixed: 774533
2022-07-14 04:12:30 -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
Madan Koyyalamudi
4b2a3cae5d Release 5.2.1.28V
Release 5.2.1.28V

Change-Id: Ief5d2a572cfcb61c81583d5f39f9dc390dfbb3ed
CRs-Fixed: 774533
2022-07-13 00:21:52 -07:00
Roopavathi Lingampalli
7cc8f0ad6b qcacld-3.0: Fix disconnect for NUD failure just after roaming
Move Change Ia3a9e989ea16443fa157834ef9d4ceb247f82e24 to
DP component
Change-Id: I596abc5662daba0a1d17e195bcb3ccf5fac1a7d4
CRs-Fixed: 3236310
2022-07-13 00:21:52 -07:00
Madan Koyyalamudi
d9473017c6 Release 5.2.1.28U
Release 5.2.1.28U

Change-Id: I408c32a7f75b2fb3eaef00ef58226cb8e84e66c4
CRs-Fixed: 774533
2022-07-12 22:33:17 -07:00
Bing Sun
2cbe518095 qcacld-3.0: Fix getting channel frequency from EHT operation IE
ccfs1 in EHT operation IE is the channel number, wlan_reg_chan_band_to_freq
should be called if channel frequency is needed.
Otherwise invalid puncture bitmap is generated for the given bandwidth if
original puncture bitmap is based on 320 MHz.

Change-Id: Ie601af2311f2f51cfe53a7da86990060668ad901
CRs-Fixed: 3241698
2022-07-12 22:33:16 -07:00
Madan Koyyalamudi
9f7472da05 Release 5.2.1.28T
Release 5.2.1.28T

Change-Id: Ic1d59daf24ea54b9876b038ae76f8e35b3632e2a
CRs-Fixed: 774533
2022-07-12 18:55:07 -07:00
Aravind Kishore Sukla
d7823c2688 qcacld-3.0: Initialize bssid variable
Uninitialized variables in pkt_capture_process_tx_data()
and pkt_capture_callback() may lead to Unpredictable behaviour.

Initialize corresponding bssid variables to avoid it.

Change-Id: I1ca6e7e04c8920111414a83c29cb61883b72370c
CRs-Fixed: 3241885
2022-07-12 18:55:06 -07:00
Madan Koyyalamudi
5c27c5d330 Release 5.2.1.28S
Release 5.2.1.28S

Change-Id: I20d04d56e3ee6e8d33797ed9288fab1635cc707a
CRs-Fixed: 774533
2022-07-12 17:18:23 -07:00
abhinav kumar
6971eebe61 qcacld-3.0: Process CP stats response while roaming
Scenarios are:
1. Host receives ROAM_START from firmware
2. Host receives EAPOL M1 from AP, host forwarded
   it to supplicant and supplicant buffered it (with
   timer 100 msec) to process it after association
   completion.
3. Host starts processing CP stats request, which
   holds RTNL kernel lock
4. Host starts a CP_STATS_WAIT_TIME_STAT (800 msec)
   timer and sends WMI_REQUEST_STATS_CMDID to FW.
   So cp stats are holding the RTNL lock.
5. In waiting state host/FW completed roaming within
   a few milliseconds. Host Call roamed indication
   to the kernel. Kernel post it to the Work queue
   to indicate this to the supplicant. The Work
   queue requires the RTNL lock to send the
   indication to the supplicant.
6. Now Kernel is waiting on the RTNL lock taken by
   the CP stats request which is waiting for the CP
   stats response (WMI_UPDATE_STATS_EVENTID).
7. Host receives CP stats response but the host is
   unable to handle it with the below reason.
8. Timed out happens for WMI_UPDATE_STATS_EVENTID,
   then Kernel takes RTNL lock to indicate
   association/roam completion status to the
   supplicant.
9. As Kernel is sending association indication
   after CP_STATS_WAIT_TIME_STAT (800 msec), by
   this time supplicant deleted buffered EAPOL
   first frame, this results in DUT failing to
   initiate the 4-WAY handshake.
10. Finally AP sends the Deauthentication frame
    to DUT.

Reason for unable to process CP stats response :
As per the current design, While processing Roaming,
the host deletes the old peer and creates a new peer
for roamed AP. If the Host receives cp stats response
after peer delete due to roaming, the host is unable
to stop waiting for timer CP_STATS_WAIT_TIME_STAT
and fails to release RTNL kernel lock till timeout.
After time out only, Kernel can take RTNL lock to
indicate association/roam completion status to the
supplicant.

Fix is to stop the wait timer CP_STATS_WAIT_TIME_STAT
and release RTNL kernel lock even in case peer has
deleted by HOST for which CP stats request sent.

Change-Id: Ie5b5275da10a06da50b2fbb8ab206b78f2c64d6a
CRs-Fixed: 3234063
2022-07-12 17:18:23 -07:00
Madan Koyyalamudi
34d91f1415 Release 5.2.1.28R
Release 5.2.1.28R

Change-Id: I88e275c8f0374693a39d84b7ca175c0d7efbf2ec
CRs-Fixed: 774533
2022-07-12 12:28:26 -07:00
Madhvapathi Sriram
067fc6686c qcacld-3.0: Enable peer txq flush feature
Enable peer TID txq flush feature which helps
configure the flush policy.

Change-Id: Iac367942abce1a2cbbffc1dbc3565f5a99448c75
CRs-Fixed: 3235910
2022-07-12 12:28:25 -07:00