Commit graph

22,974 commits

Author SHA1 Message Date
Madan Koyyalamudi
90e2bfade6 Release 2.0.8.31M
Release 2.0.8.31M

Change-Id: I4dcbbc9650b29024b3904bfc7ed03a5ae7ad9ad5
CRs-Fixed: 774533
2022-11-07 15:40:54 -08:00
Krupali Dhanvijay
72f37fd701 qcacld-3.0: Update pmk for roamed AP to pmk cache table
Assume AP1 and AP2 are SPMK APs. For SPMK AP(s), Host
should add an entry of an AP in PMK cache table like below in
two cases only:
Case 1. When DUT successfully associated with SPMK supported AP
            In this case host update “is_spmk_ap” flag in PMK
            table by parsing beacon of associated AP after
            successful connection.
Case 2. When DUT successfully roamed to SPMK supported AP
            In this case host update “is_spmk_ap” flag in PMK
            table by parsing roam sync indication event.

In case of connection with SPMK AP, Host selectively deletes PMK
entry for other SPMK supported AP(s) on basis of “is_spmk_ap”
flag and maintains only one entry for all SPMK AP(s). And host
sends the same single PMK in RSO for further roaming to SPMK AP.
Initially, DUT is connected with AP2. Then Disconnection happens with
AP2 due to NUD failure. After disconnection, the upper layer sends
flush PMK requests for AP1 and AP2. Host deletes old PMK entries for
both APs. Now upper layer sends a set PMK request for AP2. Host adds
AP2 entry in PMK cache table but host does not set "is_spmk_ap" flag
in PMK table for this entry as DUT is not connected to AP2. Now host
receives a connect request for AP1 from the upper layer. DUT
successfully associated with AP1 by performing full SAE authentication.
Host adds an entry for AP1 in the PMK cache table and sets "is_spmk_ap"
flag for AP1 but fails to delete the entry for other SPMK AP(s), here
AP2, from PMK cache table. This is because of "is_spmk_ap" flag is not
set for AP2. At this point of time below is the PMK cache table entry
for SPMK AP(s): The Host PMK cache table has two entries for two SPMK
APs.

   BSSID        PMK     is_spmk_ap flag
    AP2        PMK2           0
    AP1        PMK1           1

Now FW roams to AP2 using PMK1. Host process roam sync indication for
AP2 and updates "is_spmk_ap" flag for AP2 in the PMK cache table. As
Host has a stale entry for AP2 in the PMK cache table, Host sends AP2’s
PMK (here PMK2) in RSO command which firmware will use for further
roaming but roaming fails due to invalid PMK, as target SPMK AP expects
PMK1 in reassociation request.

To handle these scenarios, FW should send PMK info of roamed AP and
host override stale entry for roamed AP (if any) with roamed AP's PMK
in PMK cache table.

Change-Id: I5e46d16a64aa05469ebc389df9b638351d02a1e0
CRs-Fixed: 3313884
2022-11-07 15:40:53 -08:00
Madan Koyyalamudi
271f2f91a7 Release 2.0.8.31L
Release 2.0.8.31L

Change-Id: If38f1d40a116199eba929ec33ca5277a19238e71
CRs-Fixed: 774533
2022-10-31 14:34:23 -07:00
Rahul Gusain
413aa5ef82 qcacld-3.0: Make NAN high priority than TDLS in legacy platforms
Firmware handles all NAN concurrencies in the platforms which
don't advertise the WMI service cabability
WMI_SERVICE_NAN_DISABLE_SUPPORT. Host takes care of the NAN
concurrency if the capability is advertised by firmware.
But there can be some legacy targets where firmware wants to
offload NAN+TDLS concurrency alone to the host and it takes care
of rest of the concurrencies. This is to make NAN of higher
priority and disable TDLS when NAN is active. Currently, TDLS is
of more priority than NAN and it can't change the order as it
can't disable TDLS to change the priority.

Currently, driver doesn't parse the NAN messages(even NAN enable
request) in such platforms. Parse the NAN messages and disable
TDLS upon NAN enable request. Rely on NAN state machine to
allow/disallow new TDLS requests. This needs NAN enable status.

Change-Id: Ie9c7c1cc2f1ed6328a31b93077c2928940fc3450
CRs-Fixed: 3263730
2022-10-31 18:09:37 +05:30
Madan Koyyalamudi
7c26b50266 Release 2.0.8.31K
Release 2.0.8.31K

Change-Id: I32fd84670458229fb0fad938d339b779011a20ec
CRs-Fixed: 774533
2022-10-27 08:47:48 -07:00
Vulupala Shashank Reddy
037f0d9a3f qcacld-3.0: Config support for WMM based TXOP feature
Add configuration support for WMM based TXOP feature.

Change-Id: Ide52b7d4b7bca590515e8697506d2b52744a7fa6
CRs-Fixed: 2947604
2022-10-27 10:48:24 +05:30
Madan Koyyalamudi
0de83ae841 Release 2.0.8.31J
Release 2.0.8.31J

Change-Id: I1aa87130f3fa2218300dd706067b9287f8595357
CRs-Fixed: 774533
2022-10-18 07:12:19 -07:00
Ashish
3bdab6cf83 qcacld-3.0: Resume all components in case of suspend failure
Currently if driver suspends all the components and after that
if host suspends fails it does not resume all the suspended
components which leads in failure of the operations from these
components.

In current issue driver suspends all the components and it
fails to suspend dp rx refill thread and because of which host
suspend fails. Driver suspends scan component as well as part
of all component suspend which is leading scan requests failures.

TO address above issue, resume all components in case of suspend
failure.

Change-Id: I693049a0c4089eb440f459ed3a066e741e8594fe
CRs-Fixed: 3311567
2022-10-18 15:05:40 +05:30
Madan Koyyalamudi
380df088c8 Release 2.0.8.31I
Release 2.0.8.31I

Change-Id: Ic57d969dd12d859478a12b61219a43cd54e24ce1
CRs-Fixed: 774533
2022-10-11 07:54:06 -07:00
Srikanth Marepalli
00c2ec2982 qcacld-3.0: Print the TX AMPDU in the LL Stats request debug log
In LL Stats request handler the rx_ampdu is wrongly printed as
tx_ampdu. Rectified the debug log to print both the tx_ampdu
and rx_ampdu.

Change-Id: I00df3da79a0aed95cda76edb7e3f80409c6abf75
CRs-Fixed: 3254595
2022-09-30 15:57:40 +05:30
Madan Koyyalamudi
a1928e9c6d Release 2.0.8.31H
Release 2.0.8.31H

Change-Id: I299e8a0d6949c5ce8fb7399a2b9daf1831f37347
CRs-Fixed: 774533
2022-09-28 08:26:32 -07:00
Surya Prakash Sivaraj
76ab6160d1 qcacld-3.0: Use minimal filter for roam candidate selection
Roam invoke is triggered from userspace using bssid and channel
of the target AP. Therefore, use only the bssid and channel
specified by the userspace to retrieve the roam candidate.

Change-Id: I61d156cdd19925ba83ccf49723ed7b8d49eea3d1
CRs-Fixed: 3295815
2022-09-27 12:24:02 +05:30
Madan Koyyalamudi
36d34acba6 Release 2.0.8.31G
Release 2.0.8.31G

Change-Id: Ic5289a788a7fc0f3f06a00b3a886961ef35a4b0a
CRs-Fixed: 774533
2022-09-24 03:23:22 -07:00
Dundi Raviteja
39c0b44b0e qcacld-3.0: Disable IPA offload for Atherton target
Disable IPA offload for Atherton targets.

Change-Id: I79f17ea7b1de3b238fff39ad5c2a127c2cf72acd
CRs-Fixed: 3295431
2022-09-24 03:23:22 -07:00
Madan Koyyalamudi
dd2f00dda9 Release 2.0.8.31F
Release 2.0.8.31F

Change-Id: I14e8893bfdbcc1372c472c6ae834cf97563ee7b0
CRs-Fixed: 774533
2022-09-23 07:58:14 -07:00
Vinod Kumar Myadam
0b4c6df658 qcacld-3.0: Fix random mac addr set issue
For every random mac addr set/clear command to firmware,
driver gets reply from firmware whether success or fail.
But sometimes, if the response event is delayed by more
than 100ms by firmware then timeout happens in HDD.
Upon timeout, driver sends clear random mac command which
gets dropped in p2p_process_set_rand_mac API as prev command
status from firmware is pending.

So fix is to increase the timeout value to 1000ms

Change-Id: Icf4240265bac67e0fd3eaf2d904a597b4bfe2e25
CRs-Fixed: 3297401
2022-09-22 10:41:45 +05:30
Madan Koyyalamudi
bd35b6332d Release 2.0.8.31E
Release 2.0.8.31E

Change-Id: I1f5a159f3642fa939060f95af6b405a30491a1a8
CRs-Fixed: 774533
2022-09-09 03:13:04 -07:00
Vulupala Shashank Reddy
46cd6281de qcacld-3.0: Fix the channel for M2 packet in pkt capture mode
Currently in packet capture, channel for data packets is updated
from pdev. We are updating channel in pdev when we receive auth
frame in mon thread. But, sometimes we are updating channel in
radiotap of M2 in pkt_capture_update_tx_status, before mon thread
process auth packet and update channel in pdev, because of which
we are updating wrong channel in M2.

So, to avoid this move update of channel from mon thread to
pkt_capture_mgmtpkt_process.

Change-Id: Icf14c4331849ad7cfdfbd7a3043e4e4dc3d33721
CRs-Fixed: 3266890
2022-09-08 22:44:38 -07:00
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