Commit graph

21,507 commits

Author SHA1 Message Date
Naman Padhiar
83b2ce6faa qcacld-3.0: Collect return value of pld_ipci_smmu_get_domain
Return value of pld_ipci_smmu_get_domain is not collected and
return to caller. Properly collect return value of
pld_ipci_smmu_get_domain.

Change-Id: Ia09f5eba950cb2631f4696fc927c32f49821b9ff
2021-01-30 07:12:55 -08:00
snandini
67b670357d Release 2.0.8.9K
Release 2.0.8.9K

Change-Id: Ic9ad504d29720ad91ea715cfe2c70592d3e07ed1
CRs-Fixed: 774533
2021-01-29 19:11:33 -08:00
Alan Chen
f7877eaa80 qcacld-3.0: Split SAP and GO modes ini
Rename existing INI to enable_bus_suspend_in_sap_mode and define a
new enable_bus_suspend_in_go_mode. Also define new APIs
wma_is_vdev_in_sap_mode and wma_is_vdev_in_go_mode.

Change-Id: If38c4db7b3d1f7323df45d9a7d80a02a44e7ca41
CRs-Fixed: 2864596
2021-01-29 19:11:33 -08:00
Alan Chen
590d5406c3 qcacld-3.0: Define a new wakelock for WPS probe request wakeup
Define a new wakelock for WPS probe request wakeup.

Change-Id: Idd39664dc70db4dd15594f77846b74c36049659c
CRs-Fixed: 2863611
2021-01-29 19:11:29 -08:00
Alan Chen
b604f18753 qcacld-3.0: Add a log for generic wake up reason
Add a log for generic wake up reason.

Change-Id: I83c3d89d334e3688529ff908e072ca681d0ad579
CRs-Fixed: 2863479
2021-01-29 19:11:25 -08:00
snandini
28fc1640a8 Release 2.0.8.9J
Release 2.0.8.9J

Change-Id: If0480ee06a3cf78ac715e5b2cd17e07ff583a11b
CRs-Fixed: 774533
2021-01-29 03:56:55 -08:00
Pragaspathi Thilagaraj
3d67265b0c qcacld-3.0: Strip the fixed fields of assoc req/rsp in connect result
Driver sends the assoc request and association response frame to
the kernel/userspace on connection success & association failure
cases. In successful connection case, the driver strips the fixed
fields and sends only the Association request/response IEs. But
in association failure case driver includes the Fixed fields in
the connect result.

Don't include the fixed fields in the association request/
response frame sent in the connect result.

Change-Id: I2e17df1669a8790253b1dde91f5ed100c1d3e6d9
CRs-Fixed: 2856213
2021-01-29 03:56:55 -08:00
snandini
ccf731cb90 Release 2.0.8.9I
Release 2.0.8.9I

Change-Id: I7f52107e943a914465a416287ca27c0019f8938f
CRs-Fixed: 774533
2021-01-29 01:56:10 -08:00
Surabhi Vishnoi
0ad4d25156 qcacld-3.0: Release dev_hold before interface cleanup
hdd_for_each_adapter_dev_held_safe API takes dev_hold and
during cleanup of interface, dev is unregistered. So later
when dev_put is called, it results in illegal access to
unregistered dev.
Fix this issue by releasing dev_hold before interface cleanup.

Change-Id: Ib6bfe1a985f21be107b69beec0f92feccc98f34e
CRs-Fixed: 2855833
2021-01-29 01:56:10 -08:00
snandini
75ba7aa2a4 Release 2.0.8.9H
Release 2.0.8.9H

Change-Id: I05557eff4ebdf8a54353e44cdda218bbaa86701d
CRs-Fixed: 774533
2021-01-28 21:56:29 -08:00
Arun Kumar Khandavalli
f54d8b55c6 qcacld-3.0: save hang data to extract from the dumps
In order to improve the hang data it will be now processed internally
on every dump, hence store the data in the global variable to get
parsed by tools internally.

Change-Id: I0cfacd0643e5e486630a8ba0989c0d7d0c9a63c8
CRs-Fixed: 2810338
2021-01-28 07:21:40 -08:00
snandini
2ad21cb593 Release 2.0.8.9G
Release 2.0.8.9G

Change-Id: I1b9c79691c6e16154c97b5048e3d6f4584bb8138
CRs-Fixed: 774533
2021-01-27 21:25:11 -08:00
Surabhi Vishnoi
459da8ac41 qcacld-3.0: Issue disconnect only in case of mon concurrency
While adding monitor interface, issue disconnect for existing
STA interface only if mon concurrency is supported, for packet
capture mode disconnection is not required.

Change-Id: I6e970eb52681fcb500ab56372ff93e9c73d79618
CRs-Fixed: 2855842
2021-01-27 21:25:10 -08:00
Surabhi Vishnoi
7028b1194c qcacld-3.0: Add support for RX offload pkts in packet capture mode
Add support to process RX offload packets in lithium for
packet capture mode.

Change-Id: Ic307d83f579bf53a025b4b4c159e24de97e2dde6
CRs-Fixed: 2856783
2021-01-27 21:25:06 -08:00
Vulupala Shashank Reddy
f3e6a28f1a qcacld-3.0: Remove ucfg_pkt_capture_deregister_callbacks
ucfg_pkt_capture_deregister_callbacks getting called twice
while deregistering packet capture mode.

Remove ucfg_pkt_capture_deregister_callbacks from
wlan_hdd_del_monitor.

Change-Id: Id69288b390d9508396e4fb4ca4adcea3f0548deb
CRs-Fixed: 2734980
2021-01-27 21:25:01 -08:00
snandini
6c58a76eaa Release 2.0.8.9F
Release 2.0.8.9F

Change-Id: I899bdc9f8254e9fbbaf88484c15c6b597d7fc7e6
CRs-Fixed: 774533
2021-01-27 12:30:12 -08:00
Bapiraju Alla
c95d0eef1f qcacld-3.0: Don't unregister vdev sync after pre CAC success
Currently , pre CAC adapter will be closed during SAP interface down.
But pre_cac vdev sync is being unregistered after pre CAC success.
Because of this, pre CAC adapter close will fail and the same pre CAC
adapter context will be retained for subsequent SAP start. As a result
pre CAC request may fail after SAP restart.

To address this, don't unregister vdev sync after pre CAC success.

Change-Id: I2d5969274de290bd86cd510ed2a3ff4e095042b0
CRs-Fixed: 2861298
2021-01-27 12:30:11 -08:00
Bapiraju Alla
85d542301d qcacld-3.0: Add debug infra to detect reference leaks for dev_hold
Currently there is no debug infra to detect the API that caused the
reference leak for dev_hold. So, It very hard to debug/fix the
reference leak issues.

To address this, add debug_infra for dev_hold and dev_put calls in
the driver. This change also fixes the few reference leaks with
hdd_for_each_adapter_dev_held_safe.

Change-Id: Icf1adf53c3bd11c715111494bac958c541ef87ea
CRs-Fixed: 2825558
2021-01-27 12:30:07 -08:00
snandini
0993e4da2c Release 2.0.8.9E
Release 2.0.8.9E

Change-Id: I3623e4fce46043a9afa0c26df83ed8a484029650
CRs-Fixed: 774533
2021-01-26 23:22:47 -08:00
Liangwei Dong
0467897c6e qcacld-3.0: Revert wdev->mtx lock in channel switch
Revert wdev->mtx locking in commit
I0dd415a5576d29e3a7729768c8482205677ca3e7.
For STA eCSR_ROAM_STA_CHANNEL_SWITCH message, the sme_global_lock
is acquired in schedule thread alreadly. If we acquire wdev->mtx
in same thread, it will break the lock order and cause deadlock
issue. That is because the kernel -> Driver hdd request will
acquire wdev lock and then sme lock.

Change-Id: I6737040b596161c57589a5b2aac1a53754a8cba5
CRs-Fixed: 2862879
2021-01-26 23:22:47 -08:00
Srinivas Dasari
5639d14557 qcacld-3.0: Allow/reject WAPI concurrency based on firmware support
Currently, host driver rejects any concurrent session with other
security modes(e.g. NAN) when WAPI is present. This is due to a
limitation on older platforms. But newer platforms(e.g. Lithium
architecture) support WAPI+other security modes concurrently.
Firmware advertises service capability WAPI_CONCURRENCY_SUPPORTED if it
supports other security modes when WAPI is active. Get the capability
and accept/reject concurrent sessions.

Change-Id: I0e004e1220afd9c42869589364606c9f729798f7
CRs-Fixed: 2844799
2021-01-26 23:22:43 -08:00
snandini
39a0f584d4 Release 2.0.8.9D
Release 2.0.8.9D

Change-Id: Iba5f3b9fd9755820e5dca5619d985fd51eeaa57e
CRs-Fixed: 774533
2021-01-26 13:55:53 -08:00
Min Liu
864856f884 qcacld-3.0: Channel switch on 2G when CC is updated
Current logic in wlansap_get_chan_band_restrict will skip channel
switch for 2G channel which is disabled due to CC update by mistake.
Update the condiction logic to make it work properly.

Change-Id: Ib4c07447f14a47c2934c63ebdc09821eb8e5a3d1
CRs-Fixed: 2818651
2021-01-26 13:55:53 -08:00
Min Liu
cbfd662af4 qcacld-3.0: Update CC in beacon of SAP
Currently when CC change but restart SAP is not needed, no beacon
or probe response template is updated to FW and the CC IE in beacon
is not updated. Need to update accordingly.

Change-Id: I588fdf6f9dd69c9c01058ba17a4282d732ed74be
CRs-Fixed: 2818650
2021-01-26 13:55:48 -08:00
snandini
0fffb0a232 Release 2.0.8.9C
Release 2.0.8.9C

Change-Id: I0cce0b4150814cbc8b750da65d8ec75cb0865c3c
CRs-Fixed: 774533
2021-01-26 03:29:06 -08:00
Will Huang
d2ed1c50cb qcacld-3.0: Fix get sap connected sta info fcs counter always 0
Stats event from target might have several sub events, and some event
has no peer stats but have adv/ext2 peer stats.

Check ext/ext2 peer stats even no peer stats in
target_if_cp_stats_extract_peer_stats(). Fix copy adv stats size error
in tgt_mc_cp_stats_prepare_n_send_raw_station_stats(). Although
get_station_stats_cb and get_peer_stats_cb is union callbacks,
better to assign to get_station_stats_cb because it is for
TYPE_STATION_STATS.

Change-Id: I0bead0cbb8b549cc538ef4a7327f0a8303c90bd1
CRs-Fixed: 2801842
2021-01-26 03:29:06 -08:00
snandini
3e75d75fe7 Release 2.0.8.9B
Release 2.0.8.9B

Change-Id: Iae194940ec32f47670514728bd20c00e8e4a8b68
CRs-Fixed: 774533
2021-01-25 17:19:39 -08:00
Alan Chen
5ce95ada33 qcacld-3.0: Add PMO config for PCIe bus suspend in beaconing mode
By default, PCIe bus suspend is not allowed in beaconing modes
(SAP/P2PGO/NDP) with one or more clients connected. Some OEMs need
PCIe bus suspend in this mode. Hence, add a config item to serve
both types of requests.

Change-Id: Ia2d990f17f605036d43db75ecd4df57701b4ba1f
CRs-Fixed: 2860495
2021-01-25 17:19:39 -08:00
snandini
a259bebedd Release 2.0.8.9A
Release 2.0.8.9A

Change-Id: I3f05f58ad943e2c51675d58c36ae86fdb4c85b5e
CRs-Fixed: 774533
2021-01-25 14:14:45 -08:00
Bapiraju Alla
a90c5a3db1 qcacld-3.0: Do not allow pre cac during CSA
After pre cac succeeds, driver triggers regulatory change
to user space then starts CSA process. As a result hostapd
triggers another pre cac to driver while SAP performs CSA,
this makes unexpected state in driver, therefore subsequent
pre cac will not be correctly performed.

To address this, reject the pre cac request during CSA.

Change-Id: I82187d64bf94d3bdfab84b873c2ab438a4037ea9
CRs-Fixed: 2859289
2021-01-25 14:14:44 -08:00
snandini
0793237b24 Release 2.0.8.9
Release 2.0.8.9

Change-Id: I0bfe4e170787debd8868daa5e5a0aaf4cd68c597
CRs-Fixed: 774533
2021-01-25 12:06:18 -08:00
Jianmin Zhu
a712eb799b qcacld-3.0: Fix assert for sta ipa interface leaked
Once 1 roaming happened, ipa_ctx->sta_connected increased 1, and its
type was uint8_t, once increased to 256, overflow happened.
ipa_ctx->sta_connected became 0. then wlan_ipa_cleanup_iface couldn’t be
called to free old iface, but wlan_ipa_setup_iface was called to add new
iface, then there were 2 sta ipa interfaces with same session id 2.

When sta disconnected, only 1 ipa interface was freed, the other ipa
interface with session id 2 was left, but vdev 2 was deleted.

If 1st client connected DUT SAP, sta vdev 2 was found by mistake,
WMI_IPA_OFFLOAD_ENABLE_DISABLE_CMDID was sent to F/W to enable IPA path
for vdev 2, but vdev 2 wasn't existed, assert happened.

To fix it, when LFR3 roaming happens, when wlan_ipa_cleanup_iface is
called to free old iface, ipa_ctx->sta_connected is decreased by 1
first, when wlan_ipa_setup_iface is called to add new iface,
ipa_ctx->sta_connected is increased by 1, then
ipa_ctx->sta_connected reflects real STA number on DUT.

Change-Id: I5c91b3402dcfe8b1828d8d1f0701f66ca3c15d50
CRs-Fixed: 2859438
2021-01-25 12:06:17 -08:00
Manikanta Pubbisetty
7d2fdac225 qcacld-3.0: add history for FST locking
Adding history to track the FST lock/unlock events; this
would come in handy in debugging deadlock issues.

Change-Id: I40f783e72e516330fdf71ac91553bc7c4338b82a
CRs-Fixed: 2854397
2021-01-25 12:06:13 -08:00
snandini
d7a6427706 Release 2.0.8.8Z
Release 2.0.8.8Z

Change-Id: I19c501312358e7fcc22a03f8717644d554b03322
CRs-Fixed: 774533
2021-01-25 07:23:21 -08:00
Balaji Pothunoori
1953532251 qcacld-3.0: update max tx aggr size for lithium family
Currently user configured tx aggr size "0-64" is not honored in
firmware, By default firmware expects as 256 and its hardcoded.

In order to make user controllable, host has to send default max
tx aggr size as 256 for lithium and 64 for other targets.

Change-Id: I7a69f09d048f79da4c770e71b4d1c8726fa02faa
CRs-Fixed: 2846803
2021-01-25 07:23:21 -08:00
Ashish Kumar Dhanotiya
d93ada8291 qcacld-3.0: Set sme power stats response cb and context to NULL
Currently if the power stats command is invoked from multiple
threads, then the thread which invokes the command at the last
will overwrite the request manager cookie in the mac context.
Now when host gets response for these multiple requests, hdd
calback hdd_power_debugstats_cb will be invoked for each response
with the same cookie. in hdd_power_debugstats_cb host allocates
memory for the private data and this memory will also be
allocated multiple times and the last allocations will overwrite
the initial memory allocs which will lead to the memory leaks.

To address above issue set the sme power stats response cb and
context to NULL so that the callback is invoked only once.

Change-Id: I6fae0f96771ba505f06c1be14a8907b56efede24
CRs-Fixed: 2857855
2021-01-24 21:20:28 -08:00
snandini
9dacfb0c34 Release 2.0.8.8Y
Release 2.0.8.8Y

Change-Id: I7fc073f2caaa56c77e0e070b2e588f7a70f0289a
CRs-Fixed: 774533
2021-01-23 11:16:40 -08:00
Abhishek Ambure
75a9633773 qcacld-3.0: Update proper peer VHT MCS MAP and self NSS
Problem scenario:
1) Host uses self RX and peer VHT TX NSS intersection to update peer
   VHT RX MCS map and self NSS in pe_session.
2) Host updates peer VHT TX MCS map and self TX NSS from PE session
   to FW. FW uses these values to select TX rates for data packets.
3) If an AP supports 1 TX NSS and 2 RX NSS and host supports 2 TX and
   RX NSS, as a result of intersection host sets VHT TX MCS map to
   0xfffe i.e. 1x1 and associates with AP in 1x1. Which leads to low
   TX throughput.

Fix:
Use intersection of peer VHT RX MCS map and self VHT TX NSS to update
NSS to firmware.

Change-Id: I4104e3502c45923625143cd32da8cb4529df05a2
CRs-Fixed: 2847115
2021-01-23 11:16:40 -08:00
snandini
8a6b18dd89 Release 2.0.8.8X
Release 2.0.8.8X

Change-Id: I17fe497ebbf04e0b28bc87cf0122c727111fb55d
CRs-Fixed: 774533
2021-01-22 03:14:44 -08:00
sheenam monga
b443ce806b qcacld-3.0: Use function qdf_snprint for time stamp conversion
Currently for converting timestamp to string qdf_snprintf
function is used which may not print timestamp correctly.

Use qdf_snprint instead of qdf_snprintf to print correct
timestamp provided by fw.

Change-Id: I803f678dc38afc03131e589a820d129dc38380ce
CRs-Fixed: 2835199
2021-01-22 03:14:44 -08:00
snandini
8919e1aabf Release 2.0.8.8W
Release 2.0.8.8W

Change-Id: I684909ce899636157a0151e629504b9617686e63
CRs-Fixed: 774533
2021-01-21 01:32:11 -08:00
Deeksha Gupta
64dd9a8672 qcacld-3.0: Add new API to convert AKM into wmi command
Initially, Host updates the AKM only after the EAPOL
handshake. Due to this, Enterprise auth is not detected
for initial connection.

So, add new API which gets the AKM from vdev and convert
it to WMI enum and send it in peer assoc command to firmware
during initial connection. In Firmware, this will help to
detect Enterprise auth as part of connection and prioritize
the WLAN connection over BT traffic accordingly.

Change-Id: I503601ca29f3aadd1ee359a535b4e60133f66476
CRs-Fixed: 2844318
2021-01-21 01:32:11 -08:00
snandini
631ab3ea81 Release 2.0.8.8V
Release 2.0.8.8V

Change-Id: I54ae51de1f5a7745a8d4a358be79fa5069973f53
CRs-Fixed: 774533
2021-01-20 20:08:13 -08:00
Jianmin Zhu
2dc49d229d qcacld-3.0: No Tx until WoW wake up event received
With Change-Id: I7f38b3dc6975fcc208ad85e913564dfef5cc1cb7,
Tx register write is permitted after hif bus resume during runtime pm
resume, don't wait WMI_WOW_WAKEUP_HOST_EVENTID.
In F/W, there is an race condition when exit from WOW, both
WAL_TX_TID_TQM and WAL_TX_TID_TRANSITION_TO_TQM_ONGOING are not set yet,
data frame is received from host, assert will hapen.

To fix it, host tx register write shouldn't be permitted to update hp
until receive the WMI_WOW_WAKEUP_HOST_EVENTID.

Change-Id: Ic397652a9a0c4bc81667aed11805b2ce8070ee8d
CRs-Fixed: 2858115
2021-01-20 20:08:13 -08:00
snandini
7e1c06e3dc Release 2.0.8.8U
Release 2.0.8.8U

Change-Id: I7e2698113089ad0139ec1f2df93d30b1dca9548c
CRs-Fixed: 774533
2021-01-20 17:43:11 -08:00
Amar Singhal
0eb93cecb4 qcacld-3.0: Do not send regulatory event for unsafe channel list
Unsafe channel list event does not change the current channel list.
Hence there is no reason to set the channel list again in wiphy and
inform the kernel. Thus, do not send regulatory event for unsafe
channel list.

Change-Id: I68d60fb412b4664430a9cdefa354fac4070bba7a
CRs-Fixed: 2788194
2021-01-20 17:43:11 -08:00
snandini
4c895b25e1 Release 2.0.8.8T
Release 2.0.8.8T

Change-Id: Iea4652690fe3db8ba5e4fab209a0177451eabe20
CRs-Fixed: 774533
2021-01-20 11:56:36 -08:00
Ananya Gupta
93f56895cf qcacld-3.0: Add DP event history in non debug mode
Enable DP event history for perf mode.

Change-Id: I2c7acccdf23e253fb63adaff72e9bab5f010f2db
CRs-Fixed: 2850887
2021-01-20 11:56:36 -08:00
Rakesh Pillai
85374c8dc5 qcacld-3.0: Avoid logging in hif_pm_runtime_get from TX path
The hif_om_runtime_get logs the requester for resume
when the device is in runtime suspend/suspending state.
Due to such kind of logging from a softirq context, its
execution time will be longer and can block the execution
of other time critical softirqs.

Fix this by marking the call to hif_om_runtime_get as
a call from critical context and avoid the logging for
this call.

Change-Id: I2d7d0b3645f351af11a016bd45c5930f0df5401a
CRs-Fixed: 2850952
2021-01-20 11:56:31 -08:00
snandini
8a0f89e7cb Release 2.0.8.8S
Release 2.0.8.8S

Change-Id: I35838736d28bf39c68723adbdf833e31d3fac582
CRs-Fixed: 774533
2021-01-20 07:44:05 -08:00