Commit Graph

22956 Commits

Author SHA1 Message Date
Madan Koyyalamudi
eba7e0532b Release 2.0.8.31D
Release 2.0.8.31D

Change-Id: I1c4fe36ade34db0bc10506f2d02f12a60dbd105d
CRs-Fixed: 774533
2022-09-05 09:22:50 -07:00
Jianmin Zhu
12e7a20232 qcacld-3.0: Fix peer unmap failure due to invalid roam scan mode value
When supplicant disables firmware roam, RSO stop command with
roam scan mode value 4 is sent to firmware and this value 4
indicates the firmare to enable only Forced roam trigger(roam
invoke command from host). But before
ROAM_DEINIT(WMI_VDEV_PARAM_ROAM_FW_OFFLOAD with value zero) is
posted to firmware, the roam scan mode should be 0 or else there
could be potential peer unmap failures if firmware has already
started roam and disconnect is triggered from north bound or from
peer.
To avoid this, in the roam offload state machine handle the state
switch from RSO stopped to deinit if supplicant disabled roaming
flag is set and send RSO stop with roam scan mode value 0 to
firmware.

Change-Id: I6ff39f43bd75c95ed03c357a5602e25a5a0ffd92
CRs-Fixed: 3229082
2022-09-05 09:22:50 -07:00
Jianmin Zhu
2dc4b77a6f qcacld-3.0: Skip reset roam trigger during disconnect
For STA+STA case, if disconnect is started on one vdev,
roaming is getting disabled on other vdev to fix this
skip updating RSO state.

Change-Id: If527555c3ea3d50516be3a743bb03914b3a2359f
CRs-Fixed: 2981648
2022-09-05 16:19:16 +08:00
Madan Koyyalamudi
b94ffed16b Release 2.0.8.31C
Release 2.0.8.31C

Change-Id: Ibdb932f432b98e40ebdd73b01a6d20d257baac9e
CRs-Fixed: 774533
2022-09-01 05:25:59 -07:00
Dundi Raviteja
7cf700a71d qcacld-3.0: Reinitialize mon_register_event before wait_for_completion
Reinitialize mon_register_event before wait_for_completion
to make sure that it waits for fresh completion.

"done" variable in struct completion increments in
complete() API and decrements in wait_for_completion() API.

In wait_for_completion() API, if "done" value is 0 then
it will wait for the completion else it will continue without
waiting.

If reinitialization is not done, there is a possibility that
wait_for_completion() may continue without waiting.

Change-Id: I780103f551938438f27a11b006cc7c3e6edc6820
CRs-Fixed: 3251876
2022-09-01 11:10:29 +05:30
Madan Koyyalamudi
7433c02921 Release 2.0.8.31B
Release 2.0.8.31B

Change-Id: I3e22397adddb2f9282ac22fb983486143c817a32
CRs-Fixed: 774533
2022-08-18 08:37:41 -07:00
Vulupala Shashank Reddy
84d20a8173 qcacld-3.0: Fix the channel for M2 and M4 packets
Currently in packet capture, channel is updated from connection
manager. Connection manager channel is updated only after
roam is done, because of which for EAPOL tx packets old
connection freq is filled during roam from one AP to other.
So we are seeing previous AP freq in EAPOL tx packets
captured during roam.

So to avoid this fill freq in data tx packets from pdev
which will get update when auth frame is received.

Change-Id: I251c4dd084b459b7c85e80c5f7ad717d561c09ae
CRs-Fixed: 3248305
2022-08-18 08:37:40 -07:00
Madan Koyyalamudi
ea311cdd43 Release 2.0.8.31A
Release 2.0.8.31A

Change-Id: I5ef4d1e3637e43ee8cce2e66936a0036627c64a0
CRs-Fixed: 774533
2022-08-16 07:47:10 -07:00
Ashish
4c069f07e7 qcacld-3.0: Init start completion in fw down instead of reovery shutdown
Currently driver initializes start completion on recovery shutdown
which leads to an issue where userspace thread does not wait when
it writes state ctrl params with below event sequence because of
which wifi on fails.
On fw down driver sets recovery in progress, on shutdown it resets
wlan_start_complete and on reinit, it sets wlan_start_complete.
Now if driver again receives fw down it sets recovery in progress and
when userspace tries to write state ctrl param this thread does not
wait here as wlan_start_comp was set in previous SSR sequence.
If driver does not block this thread, userspace tries to iface up
which fails because SSR is still in progress.

To address above issue, init start completion in fw down instead of
recovery shutdown so that driver can block the state ctrl param thread
until SSR completes, when it tries to set the params.

Change-Id: I3fe3768b1ec431620b37055d783de0201371e774
CRs-Fixed: 3244479
2022-08-16 07:47:09 -07:00
Madan Koyyalamudi
d1bd8e66e9 Release 2.0.8.31
Release 2.0.8.31

Change-Id: I60530c697e5ead95868dce10bbdff8d37f337fd4
CRs-Fixed: 774533
2022-08-03 07:30:24 -07:00
Surabhi Vishnoi
f502b47633 qcacld-3.0: Allow monitor mode vendor cmd only if mon iface is created
QCA_NL80211_VENDOR_SUBCMD_SET_MONITOR_MODE is used to set the
config for packet capture feature on STA interface.
Currently this vendor command is allowed even if monitor interface
which will be used in packet capture mode is not created, which is
wrong.

To fix this, allow monitor mode config related to packet capture
feature only if monitor interface is created.

Change-Id: Iea94b4cd5f21d8ce13643c209d4027972d7a16d3
CRs-Fixed: 3256298
2022-08-03 14:00:44 +05:30
Madan Koyyalamudi
be6039dd5a Release 2.0.8.30Z
Release 2.0.8.30Z

Change-Id: I82cf6425475eacae538eddf6ba26c79e8b96fd17
CRs-Fixed: 774533
2022-08-01 19:28:52 -07:00
Aditya Kodukula
10e6c8669f qcacld-3.0: Fix variable type in sch_gen_timing_advert_frame
Currently inside the function sch_gen_timing_advert_frame, the variable
type used to hold the return value of populate_dot11f_timing_advert_frame,
is incorrect. So, fix it with correct variable type.

Change-Id: I592c1b3c291b4c9dce2cbe731021cf512cb598f2
CRs-Fixed: 3243257
2022-07-28 17:21:38 -07:00
Madan Koyyalamudi
5b7d2d4688 Release 2.0.8.30Y
Release 2.0.8.30Y

Change-Id: I01090196094b70a105fb46bd30d443943f6a80c7
CRs-Fixed: 774533
2022-07-28 04:09:09 -07:00
Arun Kumar Khandavalli
841cdd632d qcacld-3.0: unblock the state control param thread at end of SSR
Currently the state control param thread is unblocked 1st and then
the psoc transition is completed, there could be a chance that SSR
thread got scheduled out and wifi thread tried to comeup and issue
interface up which could fail because psoc transition is till in
progress.

So, unblock the wifi thread waiting on state control param after
stopping the psoc transition at the end of SSR.

Change-Id: I4631fb9aae6a5416ba70b24fe3c053528bd3b7d9
CRs-Fixed: 3066968
2022-07-28 04:09:08 -07:00
Madan Koyyalamudi
b1218914d1 Release 2.0.8.30X
Release 2.0.8.30X

Change-Id: I7b757f18364e31bbbb29d917f01a4dd6109f0f25
CRs-Fixed: 774533
2022-07-28 01:44:29 -07:00
Liangwei Dong
d7655edacc qcacld-3.0: notify reg change event once wifi on from GUI
Add regulatory notify event when wifi ON by GUI.
In new framework test, When turning on Wi-Fi, it is
expecting driver to indicate NL80211_CMD_[WIPHY]_ REG_CHANGE
event with country code to wificond.

Change-Id: Icb0bdec097db14905de6234573d05fffbe0e4500
CRs-Fixed: 3186188
2022-07-28 01:44:29 -07:00
Madan Koyyalamudi
225631cd9f Release 2.0.8.30W
Release 2.0.8.30W

Change-Id: Iaf73a3b75abf13f65b7b7125bc995be81eead33d
CRs-Fixed: 774533
2022-07-26 08:45:33 -07:00
Srinivas Dasari
9fcc449dbb qcacld-3.0: Rate limit DELBA process logs
AP/peer may send DELBA continuously in some error scenarios.
Host driver generates a dump of the frame in INFO level
and a log in ERROR level for each DELBA received. This
results in excessive logs to the kernel logging.
Rate limit the logs to avoid spamming kernel logs.

Change-Id: I94b11b76b862924672e06520b5bf2e731ec462df
CRs-Fixed: 3248606
2022-07-26 08:45:33 -07:00
Madan Koyyalamudi
5e0e424484 Release 2.0.8.30V
Release 2.0.8.30V

Change-Id: I0c0596df133afc763c578114b2048111d2867e26
CRs-Fixed: 774533
2022-07-26 06:20:24 -07:00
Surya Prakash Sivaraj
4173ac8d98 qcacld-3.0: Fix the TWT suspend operation command failure
TWT params are optional attributes for TWT suspend operation.
Do not mandate the check for TWT params for TWT suspend command.
Parse the TWT params if attribute is present in the suspend
command else use the default value.

Change-Id: I62fa5e0e8a9c0346957184b9578bdd273017df21
CRs-Fixed: 3027776
2022-07-26 11:21:48 +05:30
Madan Koyyalamudi
0be03ac373 Release 2.0.8.30U
Release 2.0.8.30U

Change-Id: Ib2c2b7ee520f026b168aee46d7536f55734a6d68
CRs-Fixed: 774533
2022-07-25 04:29:25 -07:00
Srinivas Dasari
c2f45cf1d9 qcacld-3.0: Enable the ini param enable_pending_list_req by default
Firmware aborts the ongoing scan upon receiving new scan
channel list (through WMI_SCAN_CHAN_LIST_CMDID). Channel list
might get updated from userspace through commands like
country code change, power level change(SET_FCC_CHANNEL),...
It affects the features that are dependent on that scan,
e.g. ongoing connection, p2p find, etc.. Few frames might
be stuck in firmware as the scan is canceled.
It's recommended to defer the scan channel list update till
the current scan is done. This is already supported and
guarded through the ini param enable_pending_list_req
but disabled by default.

Enable the ini param to make sure above scenarios are not
affected due to channel list update.

Change-Id: I4176bb6a03657cf32f0c099b72254d61207ea6ca
CRs-Fixed: 3250137
2022-07-24 23:57:31 +05:30
Madan Koyyalamudi
e777bf84d1 Release 2.0.8.30T
Release 2.0.8.30T

Change-Id: I65cd7fde761f702d2a5fd22eff73bbbd78db17d7
CRs-Fixed: 774533
2022-07-22 07:57:37 -07:00
Ananya Gupta
4781f10dbf qcacld-3.0: Set bus bandwidth state to NONE in rutime suspend
Currently, runtime suspend is not setting bus bandwiddth state
to NONE but to IDLE level.
Change is to set bandwidth state to None after setting it to
IDLE.

Change-Id: Iabd20b7e4a23019768de7604cb0efda0328e7d57
CRs-Fixed: 3229952
2022-07-22 07:57:36 -07:00
Vulupala Shashank Reddy
e23c2cacd9 qcacld-3.0: Update the channel only if AUTH resp is successful
Currently channel is updated whenever AUTH frame is received
irrespective of its status. So in case of unsuccessful AUTH
wrong channel is updated in pkt capture mode.

To fix this issue, update the channel only if AUTH response
is successful. Also if after AUTH success, association or
reassociation fails update the channel with last connected
channel.

Change-Id: I51ee6bb2466f765ce6058c411b0dc0ab74a0dd04
CRs-Fixed: 2987748
2022-07-20 04:29:33 -07:00
Madan Koyyalamudi
a07ea269a5 Release 2.0.8.30S
Release 2.0.8.30S

Change-Id: Iae12dae13fea4605006d999d6d65aa81a8c1f836
CRs-Fixed: 774533
2022-07-18 12:59:29 -07:00
Balaji Pothunoori
9c739dc644 qcacld-3.0: Enable roam offload in wiphy based on roam ini set
Currently WIPHY_FLAG_SUPPORTS_FW_ROAM is updated in wiphy
based on FastRoamEnabled/EseEnabled/FastTransitionEnabled.

This change is to update WIPHY_FLAG_SUPPORTS_FW_ROAM flag in
wiphy based on lfr3 ini set.

Change-Id: I3eb9d4fe226849f28fd173fc5e891257f8e83ad9
CRs-Fixed: 3213817
2022-07-18 12:59:29 -07:00
Madan Koyyalamudi
4bb11ee937 Release 2.0.8.30R
Release 2.0.8.30R

Change-Id: If6090cfacc611a82fb21c0fea52a4d0b13aa721b
CRs-Fixed: 774533
2022-07-18 09:22:26 -07:00
Sai Pavan Akhil Remella
d92113623a 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-18 09:22:26 -07:00
Madan Koyyalamudi
3c11d374e0 Release 2.0.8.30Q
Release 2.0.8.30Q

Change-Id: Ic437060e2e3381929e0bf00803bb1e2d848db2b5
CRs-Fixed: 774533
2022-07-18 03:59:33 -07:00
Vulupala Shashank Reddy
0ed65ad5fb 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-18 03:59:32 -07:00
Madan Koyyalamudi
78e6a7fe27 Release 2.0.8.30P
Release 2.0.8.30P

Change-Id: Id845e5c7ad6b33d96d7d55cc99d2bc3b0a7d4995
CRs-Fixed: 774533
2022-07-18 01:30:38 -07:00
Jingxiang Ge
56bd165af7 qcacld-3.0: Limit TPC power level for non-11be
when 11be is disabled, num_pwr_levels should not
exceed 8.
Limit num_pwr_levels before sending
WMI_VDEV_SET_TPC_POWER_CMDID.

Change-Id: I1e48d455f24b74479212441c7b42f7c11de7531b
CRs-Fixed: 3225090
2022-07-18 11:29:08 +08:00
Madan Koyyalamudi
c4a2536741 Release 2.0.8.30O
Release 2.0.8.30O

Change-Id: I71346d82c45bf3994a01ef5103ad70a1cc3dafba
CRs-Fixed: 774533
2022-07-15 05:26:37 -07:00
Pragaspathi Thilagaraj
681e2c002a qcacld-3.0: Don't proceed with roam synch after disassociation
During roam synch event processing, if ssid mismatch is seen,
then the driver issues disassociate, but still proceeds to
process the roam synch indication and indicates new
connection to upper layer. This causes policy manager api to
increment active session wrongly when actually STA is
disconnected.

Return failure in csr_roam_stop_network() if disassociation is
initiated.

Change-Id: I21ae1c26114e4387517710cd3358f89b7e2432fd
CRs-Fixed: 3210852
2022-07-15 05:26:36 -07:00
Balaji Pothunoori
65d897bce7 qcacld-3.0: enable shortgi for assoc req based on ap capabilities
Currently shortgi 20/40 values are updated with ini configured
values irrespective of ap capabilities.

This change fills shortgi values based on ap capabilities if it is
enabled in ini.

Change-Id: I6a590e5c0981fab61dcbcf06cf22fda70d833fd7
CRs-Fixed: 2867232
2022-07-15 05:26:31 -07:00
Aravind Kishore Sukla
d36de63654 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-15 05:26:25 -07:00
Will Huang
40f433888d qcacld-3.0: Fix unsafe channel buffer size not align
qdf_freq_t is by default defined as uint32_t, but hdd_ctx->
unsafe_channel_list is defined as uin16_t because cnss interface
is defined as uint16_t, so can't pass hdd_ctx->unsafe_channel_list
to ucfg_policy_mgr_init_chan_avoidance() which expect qdf_freq_t
list.

Convert hdd_ctx->unsafe_channel_list to qdf_freq_t list and pass
it to ucfg_policy_mgr_init_chan_avoidance().

Change-Id: I0207827e3cbaa82526e97d2826d90d396148c84a
CRs-Fixed: 2964178
2022-07-13 19:25:24 -07:00
Madan Koyyalamudi
7db9403544 Release 2.0.8.30N
Release 2.0.8.30N

Change-Id: Idde90dc8d298ec09235353707164554fd5e2e08e
CRs-Fixed: 774533
2022-07-12 13:01:00 -07:00
Pragaspathi Thilagaraj
74afb00f57 qcacld-3.0: Check for allowed frequency during set pcl
Sta is not allowed to connect/roam in 6 GHz frequency or indoor
frequency in non-DBS target if SAP is active.
But STA roams to 6 GHz AP when SAP is active since the PCL allows
6 GHz frequency.

While populating PCL to firmware, check if 6 GHz and indoor
frequencies are allowed for non-dbs target and set the
weight appropriately if the channels are not allowed

Change-Id: I0e5fdc5b3c4177283d91cdfc58359336cc11910d
CRs-Fixed: 3205494
2022-07-12 13:00:59 -07:00
Madan Koyyalamudi
419a07c046 Release 2.0.8.30M
Release 2.0.8.30M

Change-Id: I0d3cadf0b0c33fdbcb7cf47e7f306a7de3e73de0
CRs-Fixed: 774533
2022-07-11 19:45:48 -07:00
Aditya Kodukula
5de9df0fa7 qcacld-3.0: Avoid double free in sch_gen_timing_advert_frame
In sch_gen_timing_advert_frame, the memory allocated for buffer
timing_advert->template_value is freed but not reset to NULL.
This creates a dangling pointer, and it is freed again inside
__wlan_hdd_cfg80211_ocb_start_timing_advert.

To avoid this issue, reset the pointer to buffer
timing_advert->template_value to NULL before returning from
sch_gen_timing_advert_frame.

Change-Id: I2445c53f217d0fd22cbe3026b0869284fe13b851
CRs-Fixed: 3229906
2022-07-09 22:28:38 -07:00
Madan Koyyalamudi
a0ffa6f645 Release 2.0.8.30L
Release 2.0.8.30L

Change-Id: I37f11b24a1b533b847e7a3a0f0d0b2db547de18e
CRs-Fixed: 774533
2022-07-08 09:07:21 -07:00
Surya Prakash Sivaraj
bd22b29f0d qcacld-3.0: Update preauth candidate entry to scan table
During SAE roam auth offload, update the beacon/probe response
frame coming from the FW via WMI_ROAM_FRAME_EVENTID into the
scan db.

When the bss info of the preauth candidate is unavailable in
the host/kernel scan entry, supplicant fails to determine the
proper SAE PWE config of the peer and the commit request fails.

Change-Id: Ia782ece7bebf8274f949fe9fb3b2a2882bf47597
CRs-Fixed: 3075458
2022-07-08 09:07:20 -07:00
Madan Koyyalamudi
f114c0e9a1 Release 2.0.8.30K
Release 2.0.8.30K

Change-Id: I2d4f2a334110676bdd319947d772efa4c4369ed5
CRs-Fixed: 774533
2022-07-08 05:28:51 -07:00
Yeshwanth Sriram Guntuka
e6e516e90e qcacld-3.0: Control GRO en/dis based on TC filter prio
The dynamic GRO enable/disable based on ingress filters
should currently is restricted only to standalone STA.
This was done to address issue where ingress filters are
added on STA interface whenever SAP is up disabling GRO
unnecessarily.

Fix is to allow dynamic GRO to work on all interfaces
and concurrency scenarios based on the priority of
the ingress filter configured to avoid unnecessary
GRO disable in STA+SAP.

Change-Id: I1742f4539353939e3a40ff4096b3f833f2029b12
CRs-Fixed: 3206815
2022-07-05 15:31:19 +05:30
Yeshwanth Sriram Guntuka
b72ea52ca9 qcacld-3.0: Do GRO en/dis based on qdisc only for standalone STA
In case of STA+SAP, ingress qdisc filters are getting
configured on both STA and SAP interface which is
causing GRO to be disabled.

Check for ingress qdisc to enable/disable GRO only in
case of stanalone STA and not do this in case of
concurrency.

Change-Id: I3542930c7b14d72e267378dd4687ee9721eed4ed
CRs-Fixed: 3062195
2022-07-05 14:55:06 +05:30
Madan Koyyalamudi
6081afca20 Release 2.0.8.30J
Release 2.0.8.30J

Change-Id: I520401befa732f47c7544546ad15d9aa83912f2b
CRs-Fixed: 774533
2022-06-29 05:02:16 -07:00
Srikanth Marepalli
2a92ccf428 qcacld-3.0: Allow unprotected diassoc frame when keys are not installed
Currently unprotected diassociation frame is dropped if
PMF is enabled and keys are not installed. This causes
delay as supplicant has to do EAPOL timeout after
10 secs and then do disconnect.

Allow unprotected disassociation frame when install keys are
not done.

Change-Id: I12068d7b10c4e6f7885ca3a3400a8845a4c236f2
CRs-Fixed: 3208427
2022-06-29 05:02:16 -07:00