Commit Graph

30091 Commits

Author SHA1 Message Date
Karthik Kantamneni
6f177b8539 qcacld-3.0: Fix race condition in refill thread cleanup
During refill thread cleanup shutdown event is posted and
we wait for thread to handle the shutdown event and exit.
But while posting shutdown event if refill thread is in running
state then there is chance of shutdown event not getting handled
and thread cleanup will be waiting indefinitely for thread to
exit.

Change-Id: I45bdad8d6a85b110ed7c7e206d3c79c5c03e9d98
CRs-Fixed: 3599295
2023-08-29 05:20:33 -07:00
Aditya Kodukula
ac40ebad7a qcacld-3.0: Add support for n-link mlo interface stats
Add support for n-link mlo link layer interface stats.

Change-Id: I3ef5774ee25ce97eb8f732aad793e47e16e16853
CRs-Fixed: 3597918
2023-08-29 05:20:27 -07:00
Aditya Kodukula
8a9331e6f9 qcacld-3.0: Add support for n-link mlo station stats
Add support for n-link mlo vdev station stats.

Change-Id: I0eef08d260b226ef6578ab51ee37601b167f431e
CRs-Fixed: 3595323
2023-08-29 05:20:20 -07:00
Rahul Choudhary
5285d82fdc Release 5.2.1.78B
Release 5.2.1.78B

Change-Id: Ife31159c5ecf3762ea175f5b9251240ea660294a
CRs-Fixed: 774533
2023-08-28 21:12:14 -07:00
Vinod Kumar Myadam
2638bde913 qcacld-3.0: Set peer_flags for connected lower bandwidths also
Currently for STA case host driver set only connected bandwidth
in peer_flags.

If STA is connected in 320 MHz bandwidth, suppose AP send CSA,
STA downgraded to 160 MHz bandwidth but host sent only 320 MHz
flag set in peer_flags, this leads FW to unexpected behavior.

So, set all supported ch_width in peer_flags, if STA is connected in
320 MHz ch_width, set 160 MHz, 80P80 MHz and 40 MHz ch_width bits
also to solve this type of scenario.

Change-Id: I43328ac85c25913ad808abf6ab906827a9672b51
CRs-Fixed: 3557108
2023-08-28 21:12:14 -07:00
Chunquan Luo
5208f9f8e4 qcacld-3.0: Set max bandwidth with link id
Support wpa_cli driver SET_MAX_BW with two params:
[bw_index][link_id].

Change-Id: Id2a872152e308e94389cd1068013d7661b37659b
CRs-Fixed: 3522561
2023-08-28 21:12:08 -07:00
Paul Zhang
efb48cb5c3 qcacld-3.0: Set peer link status properly
Since peer link status bases on vdev and stream goes through
vdev0 (assoc link) at start, rx/tx pkt count on vdev0, but
it choices vdev1 as tdls link, the peer status does not change on
vdev1 though it has been changed for vdev0 per the rx/tx pkt count.

To resolve this issue, set peer link status properly when forward
discovery response frame.

CRs-Fixed: 3590371
Change-Id: Idfb0b8c43e3b8d5b67a387ba3b877def15130eb6
2023-08-28 21:12:02 -07:00
Sheenam Monga
70520b3143 qcacld-3.0: Remove unwanted logging for usable channel
Currently, log is added when any frequency is populated
as usable channel frequency along with mode, band and other
params which could lead to multiple log addition if Band set
is ALL bands.

The change is to remove unwanted logging.

Change-Id: I02221df6a43aa0de8d79cb973adf124a5c52f89b
CRs-Fixed: 3579443
2023-08-28 21:11:56 -07:00
Vinod Kumar Myadam
bca37ddeea qcacld-3.0: Add support to get num tx/rx chains
Add support to get num tx and rx chains.

Change-Id: Iae8e3d15679e5e9ca139c59e6880a5d733ee17ef
CRs-Fixed: 3596086
2023-08-28 21:11:50 -07:00
Ashish Kumar Dhanotiya
62bd1008e4 qcacld-3.0: Remove duplicate API wlan_get_opmode_vdev_id
There are two APIs wlan_get_opmode_vdev_id and
wlan_get_opmode_from_vdev_id present in the host driver for the
same task.
With this change, remove the duplicate API wlan_get_opmode_vdev_id
from the host driver code.

Change-Id: I7ff45610ff18da9c002e22c5be06f1414d3835bc
CRs-Fixed: 3593560
2023-08-28 21:11:44 -07:00
Rahul Choudhary
c7daec861c Release 5.2.1.78A
Release 5.2.1.78A

Change-Id: I36f674739116e34749c5fab3026a5643c5270fb5
CRs-Fixed: 774533
2023-08-28 05:43:23 -07:00
Deeksha Gupta
21e3a6585a qcacld-3.0: Add MAC address print during get station statistics
Add MAC address print during get station statistics.

CRs-Fixed: 3596859
Change-Id: Ic7f9e4aff4173fdbb176406248ce2fb11ce461dc
2023-08-28 05:43:22 -07:00
Rahul Choudhary
3597cbea2b Release 5.2.1.78
Release 5.2.1.78

Change-Id: I0d59172be8e401008f63dd7cddf1520c699e36d9
CRs-Fixed: 774533
2023-08-28 02:19:41 -07:00
Asutosh Mohapatra
a7155b7d92 qcacld-3.0: Enhance iw set bitrate command support
Enhance iw set bitrate command implementation to
support legacy mode.

Change-Id: Ic9e5e92ebd57a08217dfaf6a947c5d9dc7839e85
CRs-Fixed: 3557679
2023-08-28 02:19:41 -07:00
Rahul Choudhary
6d5bface6b Release 5.2.1.77Z
Release 5.2.1.77Z

Change-Id: Ie139ec408d72575634c70e5a2500967513de7cee
CRs-Fixed: 774533
2023-08-27 01:04:13 -07:00
Jianmin Zhu
9543e252d6 qcacld-3.0: Fix assert for msg includes local var addr
Local var addr is passed as msg body to another thread,
and dereferenced in another call stack.

Change-Id: I402cff3e1fc4d3c46486cd9776680faa818600b4
CRs-Fixed: 3596800
2023-08-27 01:04:13 -07:00
Jianmin Zhu
493e081e3d qcacld-3.0: Add action OUI to disable beamformee for IoT AP
when connect to IoT AP and BW is 160 MHz and max NSS is 2,
disable SU/MU beamformee.

Change-Id: Ib99072c36b72859cb1f8a4336f8aa7f696cb7d02
CRs-Fixed: 3583339
2023-08-27 01:04:07 -07:00
Rahul Choudhary
23243ba63b Release 5.2.1.77Y
Release 5.2.1.77Y

Change-Id: I2c6d104fb88ec6a1cd3c678921761acf2352af20
CRs-Fixed: 774533
2023-08-26 22:09:06 -07:00
Aditya Kodukula
15e5a7cd82 qcacld-3.0: Update stats cached timestamp properly
Currently the station stats cached timestamp is updated
in the adapter, even when vdev station stats are not
requested as part of unified_ll_stats_get_sta command.

When userspace requests vdev station stats, based on
timestamp value host either returns cached stats or sends
a new WMI request to firmware. In case of timestamp updated
when vdev station stats are not cached, it results in
sending inaccurate station stats to userspace.

To avoid this issue, update cached timestamp in the adapter
only when station stats are requested as part of
unified_ll_stats_get_sta command.

Change-Id: I8cdbd120afdf1f6334d7ac3fa150fc853f550a09
CRs-Fixed: 3598671
2023-08-26 22:09:06 -07:00
Rahul Choudhary
a2f988f7ec Release 5.2.1.77X
Release 5.2.1.77X

Change-Id: I08a2a279637c07722d5db35f0f86523f7a25dc20
CRs-Fixed: 774533
2023-08-25 15:14:26 -07:00
Venkateswara Naralasetty
7fce92dbaa qcacld-3.0: Kbuild changes for FEATURE_ENABLE_CE_DP_IRQ_AFFINE
Kbuild changes FEATURE_ENABLE_CE_DP_IRQ_AFFINE.

Change-Id: Ifbcc443416219f0708b7767b1e4e58cf2e807810
CRs-Fixed: 3590605
2023-08-25 15:14:26 -07:00
Venkateswara Naralasetty
f6d6eb0982 qcacld-3.0: INI config to enable/disable data path CE IRQ affine
Add INI config enable/disable data path CE IRQ affinity.

Change-Id: I8cfe9259379209ebda874ca0340b5c5069d1e234
CRs-Fixed: 3590603
2023-08-25 15:14:19 -07:00
Tiger Yu
0780c1e8b2 qcacld-3.0: Enable the CONFIG_HIF_DEBUG for the HST module
Enable the CONFIG_HIF_DEBUG for the HST module to get more info for
further debugging.

Change-Id: I911930b4fce50ad5a190e6c0da2248678199231d
CRs-Fixed: 3597078
2023-08-25 15:14:13 -07:00
Rahul Choudhary
a3cf54ccbb Release 5.2.1.77W
Release 5.2.1.77W

Change-Id: Ifcb617afcfe5a437fc7fe49db91db68d2f0f6c75
CRs-Fixed: 774533
2023-08-25 09:06:19 -07:00
Jinwei Chen
179f23968f qcacld-3.0: fix use after free issue in RX fisa path
scenario:
fisa_flow->head_skb freed in dp_fisa_rx_get_flow_flush_vdev_ref(),
but fisa_flow_vdev returned from dp_fisa_rx_get_flow_flush_vdev_ref()
is not NULL, dp_rx_fisa_flush_udp_flow() will still try to deliver
fisa_flow->head_skb to stack, use after free.

return NULL if dp_fisa_rx_get_flow_flush_vdev_ref() has freed
fisa_flow->head_skb.

Change-Id: I5a467db63377e6b5f36c4bb1dfa0e3f35b73a442
CRs-Fixed: 3596691
2023-08-25 09:06:19 -07:00
Prasanna JS
1b2deb10ec qcacld-3.0: Enable CONFIG_BCN_RATECODE_ENABLE
Enable CONFIG_BCN_RATECODE_ENABLE config flag for
lithium onwards target.

Change-Id: I9d39e9d6f71d14aa85e9f12f160f203906328c90
CRs-Fixed: 3593196
2023-08-25 09:06:12 -07:00
Rahul Choudhary
0aa6782c8b Release 5.2.1.77V
Release 5.2.1.77V

Change-Id: Id78144c94cf9c722f72f8248b336b8a67f2480d6
CRs-Fixed: 774533
2023-08-25 06:04:42 -07:00
Aditya Kodukula
4bb8792e4f qcacld-3.0: Use hdd station context to get mlo link_id
Currently, for mlo link layer stats, vdev object is used
to get link_id and channel frequency. Instead of vdev object,
hdd station context can also be used to obtain those values.
Hence, refactor the code.

Change-Id: I90110ed0250f1d71539b44813ecb5d94c731039d
CRs-Fixed: 3595398
2023-08-25 06:04:42 -07:00
Arun Kumar Khandavalli
3e9914c2e4 qcacld-3.0: Add backport flag support for netdev registration
Add backport flag support for enabling cfg80211 netdev
registration APIs.

Change-Id: Id76c938deb54837de85fbf3438c70a9b509adac8
CRs-Fixed: 3589956
2023-08-25 06:04:35 -07:00
nakul kachhwaha
1ac61ce509 qcacld-3.0: Enable Flex. TWT based on TWT Req/Resp Capability
Enable Flexible TWT when TWT feature is enable and either of
the TWT Requestor or Responder capability is enable.

Change-Id: I2f2b1c311d9aba6e09d309e83f37098175b80767
CRs-Fixed: 3422493
2023-08-25 06:04:29 -07:00
Sheenam Monga
125eb5841d qcacld-3.0: Don't stop uninitialized timer
currenyly, hdd_medium_assess_stop_timer is invoked during stop_ap
and congestion report disabled. but init is done during congestion
report enable and based on timer flag. So, Assert will be caused
if timer is destroyed due to congestion report disable then stop
AP comes.

Fix is to add timer enable check and based on it call the stop
timer API.

Change-Id: I192b94a08cd07b2be14b2c75b44b3c6a7634b91a
CRs-Fixed: 3589172
2023-08-25 06:04:23 -07:00
Rahul Choudhary
e6bc470063 Release 5.2.1.77U
Release 5.2.1.77U

Change-Id: Ie170b547b4e2c620e2224a2d724b369db2de776d
CRs-Fixed: 774533
2023-08-25 03:02:59 -07:00
Venkateswara Naralasetty
bc22dea1ae qcacld-3.0: Kbuild changes to enable interrupts in monitor mode
Kbuild changes to enable interrupts in monitor mode for wcn6450.

Change-Id: I6fc5efdad3bf251e9166a3d018caa7d406a00f04
CRs-Fixed: 3565745
2023-08-25 03:02:59 -07:00
Rahul Choudhary
b590a3063f Release 5.2.1.77T
Release 5.2.1.77T

Change-Id: Ifef738bac79cf4694e7008770a510fb0d3838bc7
CRs-Fixed: 774533
2023-08-24 21:14:56 -07:00
Vijay Raj
43e28bd8e5 qcacld-3.0: Add diag logging support for STA info and MLO events
Introduce diag logging for STA info event and MLO events
via eventid EVENT_WLAN_CONN_STA_INFO, EVENT_WLAN_MLO_SETUP,
EVENT_WLAN_MLO_RECONFIG, EVENT_WLAN_MLO_T2LM_STATUS,
EVENT_WLAN_MLD_T2LM_REQ_RESP, EVENT_WLAN_MLO_T2LM_TEARDOWN
and EVENT_WLAN_MLO_LINK_STATUS

For MLO specific events band, link_id, status, tid_ul,
tid_dl, token, tx_status, reason active_links and
previous active links are sent.

For STA INFO event is_mlo flag, mld_macaddr, 2.4GHz_mac,
5GHz_mac and 6GHz_mac.

Change-Id: I1aa6195a481319f85cad26893789439c5c8291ea
CRs-Fixed: 3568508
2023-08-24 21:14:56 -07:00
Aditya Kodukula
e49b8598ac qcacld-3.0: Reject MLO stats request during link switch
Reject MLO station stats and Link Layer stats request from
userspace when link switch is in progress.

Change-Id: I755dcf3da69f5378cba0602ed085981af35fe38b
CRs-Fixed: 3594723
2023-08-24 21:14:49 -07:00
Rahul Choudhary
700a01c064 Release 5.2.1.77S
Release 5.2.1.77S

Change-Id: I8152ced3d60fbd25da184d84e005f26a97d7eaec
CRs-Fixed: 774533
2023-08-24 15:38:26 -07:00
Vinod Kumar Myadam
ea91bcc73d qcacld-3.0: Fix OOB access in MLIE parsing
In sir_convert_beacon_frame2_mlo_struct, not validating the return
status of util_get_bvmlie_persta_partner_info, even though validating
the IE data in this API but for the bad IE also storing the data.
This will cause OOB access while storing the data if the IE is malformed.

Fix to check the return value in util_get_bvmlie_persta_partner_info,
if the return value is error don't access and store the data.

Change-Id: I5605aeaafcaf9fc2de3e74d06ae64ac9f05837fe
CRs-Fixed: 3581068
2023-08-24 15:38:26 -07:00
Ashish Kumar Dhanotiya
963339298b qcacld-3.0: Remove mac0 channels from ll_lt_sap PCL for static sbs
Based on the new requirements, add logic to remove mac0 channels
from PCL for static sbs case for ll_lt_sap mode.

Change-Id: Ib50978b2959bafac27a1f0b432a08b6d3c08c2de
CRs-Fixed: 3582899
2023-08-24 15:38:17 -07:00
Aditya Kodukula
87a4b8604b qcacld-3.0: Update correct vdev_id for vdev stats
Currently, while processing ml vdev chain rssi stats, vdev_id
is not updated properly resulting in populating invalid chain
rssi values.

So, to resolve this issue, update correct vdev_id based on vdev
stats request_info structure for both MLO and Legacy connections.

Change-Id: I37d4001c2dee46396019ca662f89066f73ad4895
CRs-Fixed: 3595057
2023-08-24 15:38:10 -07:00
Rahul Choudhary
d7e0780379 Release 5.2.1.77R
Release 5.2.1.77R

Change-Id: Ib38429af49938d03995e0be2c03a4aa950c70202
CRs-Fixed: 774533
2023-08-24 01:26:08 -07:00
Surya Prakash Sivaraj
f3969f6436 qcacld-3.0: Prevent runtime suspend during disconnect
In MLO cases, system enters into runtime suspend in
between the disconnect processing of two links. This
leads to delay/timeouts in MLO disconnect processing.

To fix this, acquire runtime lock between disconnect
start and disconnect complete if_manager events.

Keep the runtime lock at vdev level to handle async
disconnects triggered by the driver and link-only
disconnects during roaming.

CRs-Fixed: 3588246
Change-Id: Ida48127d8597aecd8b6f5347c70ba5e9a2045d11
2023-08-24 01:26:07 -07:00
Rahul Choudhary
dd615c031c Release 5.2.1.77Q
Release 5.2.1.77Q

Change-Id: I3822957a67bb123be4852992c8b7f1f8cf15ffbe
CRs-Fixed: 774533
2023-08-23 10:32:45 -07:00
Meng Yuan
0624aa8b53 qcacld-3.0: Support the case to unload driver successfully
Enforce the chip to complete steps of unloading driver
instead of ASSERTION in the case of powered off.
Enforce the chip to complete pld_pcie_remove to
avoid memory leak.

Change-Id: Iaaadde91dd6329990d28659b283b1be8216a970f
CRs-Fixed: 3590444
2023-08-23 10:32:45 -07:00
Jianmin Zhu
45eb8d28c5 qcacld-3.0: Fix duplicated DPP req send to user space issue
Some frames like GAS_INITIAL_REQ are registered with SME_SESSION_ID_ANY,
With Change-Id: If6a3c65c73349f176531ba6d8cc9590374a00440, it is treated
as broadcast frames wrongly, several duplicated DPP config request frames
are sent to wpa supplicant, several config response are sent to OTA.
After received 1st config response, Peer Enrollee device moved to AP
channel to connect, so Initiator will get no ack for the rest of config
responses. DPP-CONF-FAILED will happen.

To fix it, for frames like GAS_INITIAL_REQ registered with
SME_SESSION_ID_ANY, and received without session, just sent to wlan0
once.

Change-Id: I2343186b7d2dcf734d677a91f2c7fb3101e13d6d
CRs-Fixed: 3590443
2023-08-23 10:32:39 -07:00
Rahul Choudhary
808cdf9d89 Release 5.2.1.77P
Release 5.2.1.77P

Change-Id: I6ff62ff4fd1115da5c1a29ded5a5b60bc514ce8f
CRs-Fixed: 774533
2023-08-23 02:33:11 -07:00
Nirav Shah
b04510d009 qcacld-3.0: Fix output of tsf sysfs node
Fix output of tsf sysfs node by adding space
between peer mac address and timestamp.

Change-Id: Id871ad70888d0d49218d1eb294f985386867059d
CRs-Fixed: 3587641
2023-08-23 02:33:11 -07:00
Paul Zhang
06250c2b0b qcacld-3.0: Don't overwrite force active link
For MLO TDLS function, when it sends discovery request, it sets
the corresponding link as force active mode. Since the driver
sets link_ctrl_f_overwrite_active_bitmap by default currently.
It overwites the active link which is set earlier.

To resolve this issue, add sanity check about reason
MLO_LINK_FORCE_REASON_TDLS to follow the legacy process.

Change-Id: I51eb6464ffd7754e009aa993eae859268d19671a
CRs-Fixed: 3591556
2023-08-23 02:33:04 -07:00
Rahul Choudhary
7500aae284 Release 5.2.1.77O
Release 5.2.1.77O

Change-Id: I73d6e6837021fe2fa8dbc565108b09c3b2509c36
CRs-Fixed: 774533
2023-08-22 23:31:35 -07:00
Guisen Yang
30ff7465d0 qcacld-3.0: Allow WoW mode for qca6490 without extra checks
Do not fall back to pdev suspend for qca6490 when it's configured
to wow mode.

Change-Id: Iefa0c6c725547068d3663408d4dd80e19e05811f
CRs-Fixed: 3515263
2023-08-22 23:31:34 -07:00