Gráfico de commits

8553 Commits

Autor SHA1 Mensaje Fecha
Chunquan Luo
c9181a28c4 qcacld-3.0: Get max bandwidth
Support wpa_cli driver GET_MAX_BW with link_id and bandwidth.
Support get all MLO 2links link id and bandwidth.

Change-Id: I304b581fa06db23281422cafeecd0f6a868eee14
CRs-Fixed: 3544825
2023-08-29 15:04:22 -07:00
Ashish Kumar Dhanotiya
16fc1d7e1c qcacld-3.0: Update roam count correctly in connection info
Currently host driver is using roam_sync state to update the
roam count in connection info structure. Connection manager
clears this roam sync state before it host invokes the save
bss info API where it actually updates the roam count in
connection info structure, this leads to the incorrect information
update in connection info structure.

To address the above issue, use the is_reassoc state from connect
response structure in save bss info API.

Change-Id: I0d35f04b7e2492fe96a23edefc0caf002acb6537
CRs-Fixed: 3591711
2023-08-29 15:04:16 -07:00
Sheenam Monga
3acf6ee2f4 qcacld-3.0: Update TSPEC handler internally in host
Currently, CONFIG_TSPEC_TSID is used as handle to
add and delete TSPEC requests. The tsid sent by
upper layer is same as handle because there is
no separate param for handle, so host always rejects
to add new TSPEC request because already one request
is registered with same handle.

To avoid the issue host can internally modify
handle and can add request with modified handler.
During DEL TSPEC Provided ts_id can be used to
delete the entry.

Change-Id: I6d1231bc6516d2642739d5d1011c847b32472160
CRs-Fixed: 3580003
2023-08-29 15:03:58 -07:00
Venkateswara Naralasetty
4b174992a8 qcacld-3.0: move DP related INI config to hdd_dp_cfg.h
Move DP related INI config from hdd_config.h to hdd_dp_cfg.h

Change-Id: I9bb1b6a1e51396fc6af7d2e2f6c553d6e2a958f4
CRs-Fixed: 3599799
2023-08-29 15:03:52 -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
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
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
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
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
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
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
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
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
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
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
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
Rahul Gusain
d934844b59 qcacld-3.0: Allow only 2 port concurrency in non DBS
Currently, host driver defines all concurrency with iface
combination structure and updates it by wiphy to userspace.
But non DBS target does not support the 3 port concurrencies.

So, to fix this, add the check for DBS target and for non DBS
targets filter out 2 port concurrencies from iface combinations
and update it to userspace.

Change-Id: I2bbe44f6cdfa1b49e3dbd9efe8b9bc45ddbed0ab
CRs-Fixed: 3583702
2023-08-22 23:31:02 -07:00
Venkateswara Naralasetty
d780947743 qcacld-3.0: dump ce event history upon fw hang event receive
Dump the CE event history and hp/tp values for CE2 and CE3
when FW hang event received.

Change-Id: I79dd857878a43dedc104cbd3b10578041ce3fb1a
CRs-Fixed: 3587934
2023-08-22 19:23:05 -07:00
Ashish Kumar Dhanotiya
66f468f156 qcacld-3.0: Disable FILS discovery for LL_LT_SAP
Based on new requirement, disable FILS discovery for
LL_LT_SAP.

Change-Id: If136bc272ba29a39f9748b01c53e35cac79f79b1
CRs-Fixed: 3585674
2023-08-22 11:06:47 -07:00
Ashish Kumar Dhanotiya
3f3c1854d8 qcacld-3.0: Force 11n mode for ll_lt sap
Based on the new requirement, force 11n mode for ll_lt SAP.

Change-Id: I841c7af68178be94302ca259d6269dd00321bddc
CRs-Fixed: 3591464
2023-08-22 08:07:58 -07:00
Ananya Gupta
3b7bf0f80f qcacld-3.0: Add enum for max test commands
Add enum for max test command and replace the check for
WFDS_GET_STATS cmd with WFDS_CMD_MAX.
Also, put end of struct at the end of the structure in
struct wfds_ut_cmd_req_msg_v01_ei.

Change-Id: Icc1075fb10d92fba17ffbd71a97904c6c8d866d0
CRs-Fixed: 3591854
2023-08-18 21:43:33 -07:00
Vinod Kumar Pirla
54c0b31d7c qcacld-3.0: Remove HDD wait for ops in link switch notify
VDEV is moved to INIT state as part of link switch disconnect,
before set MAC address response is received, north bound
disconnect is received which also increment pending OSIF
ops.

MLO manager is notified about this userspace disconnect to
terminate link switch and in this process, OSIF/HDD is notified
to change back deflink by waiting for OSIF ops to complete on
that adapter. Deadlock situation araises as the same thread
that initiated ops is waiting for completion.

Don't wait for ops in OSIF as part of link switch notification.

Change-Id: I53ce3da7e9cfbc1dea9422766f81c33254b357a0
CRs-Fixed: 3591342
2023-08-18 18:09:49 -07:00
Yu Ouyang
501591ed99 qcacld-3.0: Remove idle shutdown suspend delay
If wifi turn/off and suspend command come simultaneously, idle shutdown
timer will delay long time to go into suspend mode. The time is
(gInterfaceChangeWait + HDD_PSOC_IDLE_SHUTDOWN_SUSPEND_DELAY)ms.

The delay is ensuring idle shutdown can be called and completed before
suspending. Otherwise wifi chip is not in power off state even all
adapters stopped.

Change c797c6e is ensuring that we can go into idle shutdown case when
system suspend is happening and all interfaces are down.
So, we can remove the delay and restore gInterfaceChangeWait default
value to 10s. No delay and no current leakage in FW.

Change-Id: I04cc6f2dd9720105e0302874022603eeb4fccfe5
CRs-Fixed: 3513404
2023-08-18 18:09:44 -07:00
Yu Ouyang
9b8714e492 qcacld-3.0: Shutdown WLAN in suspend prepare if wow mode
Change ec797c6e shutdown WLAN in suspend prepare if shutdown_suspend mode.
For WoW_suspend mode, we need to do this too if all adapters stopped. And
do nothing if has adapter open.

Change-Id: I551354d4a906799c6279c10f05be799459110a45
CRs-Fixed: 3549654
2023-08-18 18:09:39 -07:00
Ashish Kumar Dhanotiya
fe6d7d0625 qcacld-3.0: Add support for LL_LT_SAP_MODE in policy mgr
Currently PM_LL_LT_SAP_MODE is not handled in policy manager.
With this change add support for PM_LL_LT_SAP_MODE in the policy
manager.

Change-Id: Icfbb3a95dc65225fc7dad5df7dca9306a5029402
CRs-Fixed: 3536491
2023-08-17 21:01:21 -07:00
Shailendra Singh
cb5e7915c5 qcacld-3.0: Change to set SAR index at init time
Changes to set SAR safety index at the driver init time.
Enhance gEnableSarSafety ini to enable timer / init
based SAR index configuration.

Change-Id: Ie50a887d566427fe4e4ff589bf3594c6b78e8c00
CRs-Fixed: 3576752
2023-08-17 09:42:51 -07:00
jinbao liu
e422b88c9d qcacld-3.0: Take MLO into account when getting linkSpeed
This change takes MLO connection into account when running getLinkSpeed

Change-Id: I7a62fac5b987718c55544e28e8f7f71ef637242d
CRs-Fixed: 3564681
2023-08-17 09:42:28 -07:00
Aditya Kodukula
d82b9641ac qcacld-3.0: Add sysfs replacement for set bitrates
Add a sysfs replacement for the deprecated WEXT commands
set11NRates, set11ACRates and set_11ax_rate.

Change-Id: I7823660f377d4d4aeb8df2d88b6a871b9ec33ec2
CRs-Fixed: 3588225
2023-08-16 19:16:26 -07:00
Chunquan Luo
84e5c78f0e qcacld-3.0: Revert RSSI vendor attr api to nla_put_u32
The reverts commit 35160f2ec7 ("qcacld-3.0: Signal value on
p2p-go mode error").
Since vendor command attribute already submit to open source,
we can't change the QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RSSI_MGMT
and QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RSSI_DATA and
QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RSSI_ACK to signed 32 bit.
So, revert the api of nla_put_s32 to nla_put_u32.

Change-Id: I70514c4edfd12a401a3549839075b657ed5e6a5a
CRs-Fixed: 3566162
2023-08-16 02:16:45 -07:00
Namita Nair
0f8629ae12 qcacld-3.0: Add check to find IPA iface_ctx based on vdev_id
IPA APIs currently depend on the net_dev value to distinguish
between the IPA iface_contexts, during setup and cleanup calls.
Due to single net_dev multi vdev change, this check is not
valid anymore and causes overwrite of the IPA iface contexts.
This change adds a check to also compare the vdev_id along with
net_dev to properly distinguish between the iface contexts.

Change-Id: I9cbd827f0d6393a83a9aedb17d68c5f8fe143e05
CRs-Fixed: 3585635
2023-08-14 21:57:34 -07:00
Aditya Kodukula
7ed5313613 qcacld-3.0: Add a sanity check before sending mlo ll_stats
Currently in the function wlan_hdd_send_ll_stats_req, we send
mlo_ll_stats to userspace without checking the response for
ll_stats request. This causes an issue, when we the ll_stats
request is unsuccessful and host tries to send the stats to
userspace. So, to avoid this issue, add a sanity check before
sending mlo_ll_stats to userspace.

Change-Id: I71ad4938551dc7be49c15f95b81ea37cf0c9c731
CRs-Fixed: 3587011
2023-08-14 21:57:23 -07:00
Abhinav Kumar
75f3c668b1 qcacld-3.0: Correct the debug print for TX BW
Host driver log of the TX rate bandwidth is not
correct in wlan_hdd_update_rate_info.

Change-Id: I2d27090d4108c905c997f872fa428df1df556fac
CRs-Fixed: 3586147
2023-08-14 18:56:44 -07:00
Amit Mehta
df8318fd9f qcacld-3.0: Set enable_rpm earlier in hdd_wlan_start_modules
Currently enable_rpm is being set in hif_rtpm_start
which is called later in hdd_wlan_start_modules,
this can result in race between hif_rtpm_start
and hif_rtpm_put.

To fix the issue set enable_rpm earlier to avoid
race condition.

Change-Id: Id33888d7df570dd68657a780fc636203e4b84b90
CRs-Fixed: 3585156
2023-08-14 15:21:50 -07:00
Aasir Rasheed
cc9e1cf08f qcacld-3.0: Add check to prevent TWT CMD during suspend
Flush TWT commands when cfg80211 suspend is in progress
and schedule them for execution when cfg80211 resumes.
This prevents WMI from crashing due to concurrent
WMI_WOW_ENABLE_CMDID and twt requester enable commands
during suspend.

Change-Id: I505b789805d8a83564bf25d3f6c5c28d6d390966
CRs-Fixed: 3567817
2023-08-13 23:57:54 -07:00
Paul Zhang
e68d5c4019 qcacld-3.0: Use peer's mac instead of BSSID
This change is to use peer's mac for TDLS link
key instead of BSSID.

Change-Id: Ife05a742bb98c094e57d5ff6c17a2211f6cd7765
CRs-Fixed: 3583232
2023-08-13 23:57:42 -07:00
Paul Zhang
d8e7d9c0cc qcacld-3.0: Init medium assess timer
Currently the medium assess timer is initialized and destroyed
when SAP start or stop. Since the timer is shared by SAPs, it
causes timer leak issue with the complexity of SAP + SAP
concurrency.

To resolve this issue, initialize and destroy the timer when
vendor command is issued.

Change-Id: I2e6a7e92e5d7053712c1825669d002982e2051d6
CRs-Fixed: 3584388
2023-08-12 04:20:41 -07:00
Will Huang
08aee1da75 qcacld-3.0: Check tb[] pointer before access the content
In function wlan_hdd_check_is_acs_request_same(),
tb[QCA_WLAN_VENDOR_ATTR_ACS_LAST_SCAN_AGEOUT_TIME] is not checked
before dereference, it is optional if refer to this IE in function
__wlan_hdd_cfg80211_do_acs, correct this coding error.

Change-Id: I87262bd071d4dec9e6795bdf32ff7007cd2254d9
CRs-Fixed: 3585225
2023-08-12 04:20:37 -07:00
Vishal Miskin
268783d48e qcacld-3.0: Implement User defined OPM mode
Allow userspace to configure power save inactivity timeout and
opm speculative wake interval through vendor NL interface.
STA enters into power save mode(PM=1) after TX/RX inactivity of
time duration specified by QCA_WLAN_VENDOR_ATTR_CONFIG_PS_ITO
in milliseconds.

STA speculatively wakes up to look for buffered data by AP at
QCA_WLAN_VENDOR_ATTR_CONFIG_SPEC_WAKE_INTERVAL interval after
entering into power save. If configured zero, STA wakes up at
upcoming DTIM beacon.

Change-Id: I86cbd35d6f61ae600b4784bd95209fac62021941
CRs-Fixed: 3567042
2023-08-11 19:23:57 -07:00
Vishal Miskin
6a7f372d75 qcacld-3.0: Add User defined OPM and g_wow_spec_wake_interval INI
Pass g_wow_spec_wake_interval along with g_wow_data_inactivity_timeout
to firmware through WMI which are used in WOW mode. These configs are
honored by firmware when User defined OPM is set.

Change-Id: I24306e8aa0b7b3f7fce9453f6a98d4922b7c3f62
CRs-Fixed: 3567042
2023-08-11 19:23:44 -07:00
Vinod Kumar Myadam
54797b19a9 qcacld-3.0: Fix in accessing pre_cac adapter
Trying to get the pre_cac adapter by iface before its created,
which will return NULL always, leads to pre_cac open failure.

Remove accessing the pre_cac adapter before create.

Change-Id: I31363d0ff8eb39fb1b16d3be20743d26fc7469a2
CRs-Fixed: 3586239
2023-08-11 19:23:27 -07:00
Aditya Kodukula
31a357c562 qcacld-3.0: Send aggregated stats when queried on AP mld
In case of mlo connection, when get_station stats is queried on
STA mld_mac address, driver sends aggregated mlo vdev station
stats to the framework. But framework expects driver to fetch
aggregated stats when queried on AP mld_mac address.

So, to satisfy framework's expectation, send mlo aggregated stats
when queried on AP mld_mac address.

Change-Id: I59b93c32939fddb56492a475d3f55b67f8eeab4b
CRs-Fixed: 3585276
2023-08-11 14:59:00 -07:00
Vinod Kumar Pirla
e2f045f763 qcacld-3.0: Use netdev addr if connection is legacy
In hdd_adapter_get_link_mac_addr() API return netdev addr
if the connection is not ML-type as netdev addr is used for
connection.

Change-Id: Id32694c645c27c8a7d7d738d0f980054f85e5b94
CRs-Fixed: 3585513
2023-08-11 14:58:33 -07:00
Liangwei Dong
97e9fab458 qcacld-3.0: Move GO to SCC channel of STA before SAP start
If GO is MCC with STA on 2.4 GHz, move GO to STA channel for
SCC before 2.4 GHz preferred SAP start. This is to avoid SAP
start failure because we don't support 3 Home channel MCC in
same mac.

Change-Id: I507fe8d9d283c54524ea647d8b74c7e167a031d0
CRs-Fixed: 3562893
2023-08-11 14:58:16 -07:00
Arun Kumar Khandavalli
ad3cf51017 qcacld-3.0: Add support to use MLD addr for one link
If INI is enabled don't derive first link's MAC address
and directly use MLD address in that place and derive
next link addresses.

Change-Id: I3c2b9f64df3f75799adf8718ee83d157f6dd9097
CRs-Fixed: 3584062
2023-08-10 22:11:09 -07:00
Jianmin Zhu
5a19eb6a50 qcacld-3.0: Do not handle regdomain notifier after cfg80211 suspend
Currently, kernel invoke the regdomain notifier to host driver
using registered callback. If kernel call this callback after
cfg80211 aka system suspend, Then because of race condition host
might send the PDEV SET REGDOMAIN/PARAM to fwr after WOW ENABLE
cmd which is not correct cmd sequence.

Change-Id: I3a5ebcbedc529b188e43e4d0ae60510fff8a703d
CRs-Fixed: 3583337
2023-08-10 14:42:22 -07:00
Surabhi Vishnoi
123541616b qcacld-3.0: Release wakelock when psoc idle timer is stopped
Currently, wakelock with timeout is acquired when psoc idle timer is
started to prevent suspend but it is not released when psoc idle timer
is stopped. So, in scenarios where wlan is turned off/on frequently,
psoc idle timer will be started and wakelock with timeout will be
acquired as part of wlan off but after wlan is turned on suspend will
not be allowed until wakelock timeout occurs as wakelock is not released
when psoc idle timer is stopped.

To allow suspend after wlan is turned on, release wakelock which was
acquired as part of wlan off in psoc idle timer start.

Change-Id: I85ad9ce4ae9618a88601295d2194b4033be88c2d
CRs-Fixed: 3578872
2023-08-09 17:25:42 -07:00
Deeksha Gupta
17ba53ac08 qcacld-3.0: Resolve compilation errors with older kernels
Resolve the compilation issues with older kernels.

Change-Id: I437b2875dcf6174bd07ac33b9975e761ad36eab9
CRs-Fixed: 3581206
2023-08-09 07:25:10 -07:00