Commit Graph

19623 Commits

Author SHA1 Message Date
Jia Ding
51a9fa1c4a qcacld-3.0: Properly set WLAN_IPA_MAX_STA_COUNT
Set WLAN_IPA_MAX_STA_COUNT to WLAN_MAX_CLIENTS_ALLOWED
if WLAN_MAX_CLIENTS_ALLOWED is defined.

Change-Id: Ic7b3706897cec8ee149bab12cd91c94ae04f75ef
CRs-Fixed: 2658585
2020-05-29 03:13:43 -07:00
bings
d1aef8217c qcacld-3.0: proc_create_data support for 5.6+ kernel
One parameter of proc_create_data is changed from struct
file_operations to struct proc_ops.
Add support for it under the kernel version compilation flag.

Change-Id: Ic87222f9c267debef56dcc66fc629854058ffabd
CRs-Fixed: 2666490
2020-05-29 03:13:38 -07:00
bings
9341e24bb2 qcacld-3.0: ndo_tx_timeout support for 5.6+ kernel
New parameter txqueue is added for callback ndo_tx_timeout.
Add support for it under the kernel version compilation flag.

Change-Id: I0234dade56f65d15a4370404e17ff51a8a73ee4e
CRs-Fixed: 2666436
2020-05-29 03:13:28 -07:00
nshrivas
e50e7c0ea2 Release 5.2.0.188
Release 5.2.0.188

Change-Id: I027d3acbd3bc1afd7fb75a641de623ea2d3f0632
CRs-Fixed: 774533
2020-05-28 21:07:36 -07:00
Min Liu
6bceefd884 qcacld-3.0: Fix compilation issue in perf build
Fix insmod failure in perf build which is caused by undefined
symbol when MPC_UT_FRAMEWORK is not defined.

Change-Id: I1a1ae76af596a3d219a7367d45a2fb38a08107a4
CRs-Fixed: 2696540
2020-05-28 21:07:35 -07:00
Baowei Liu
78aa7bdfc1 qcacld-3.0: Skip recovering check if host assert target
In cds_trigger_recovery_handler, Host driver first set flag recovering
before cds_force_assert_target. For Rome, ol_target_failure run when
FW crash, Self-Recovery stop when detect flag recoverying be set

Add CDS_DRIVER_STATE_ASSERTING_TARGET to record Host asserting in
cds_force_assert_target. Skip recovering check in ol_target_failure
if detect this flag.

Change-Id: I290e2f21bd0bca6dc6d76de43de4f8dd801d7ff5
2020-05-28 21:07:32 -07:00
Utkarsh Bhatnagar
09431aa329 qcacld-3.0: Fix usage of wlan_reg_legacy_chan_to_freq
In wma_vdev_pre_start() freq is already available with des_chan->ch_freq
so no need to get the freq again from using wlan_reg_legacy_chan_to_freq.
In hdd_cfg80211_update_channel_info() use wlan_reg_chan_band_to_freq
to get the freq from channel.

Change-Id: I179907c9f5a80f355b44aa9c9509d8d12d8825f8
CRs-Fixed: 2696687
2020-05-28 21:07:28 -07:00
Abhinav Kumar
9bb8c487cc qcacld-3.0: Allow driver to process roam sync ind in RSO STOPPED state
Supplicant disables fast roaming (by making isFastRoamEnabled = 0)
before sending ROAM_INVOKE_CMD to host. This results roaming state
of host changes to  ROAM_RSO_STOPPED before start processing
ROAM_INVOKE_CMD command.

Due to commit : Id0ea18a33dfef3d4e9a4003da33fc7172cf58e85, Host
unable to process roam sync indication event if supplicant disable
fast roaming before sending ROAM INVOKE command. This leads to
roaming failure.

Fix is to allow driver to process roam sync indication even in
RSO stopped state, if roaming triggered by userspace.

Change-Id: Ia5f5c7b078d457280bce8c24110f01a3be26c3d6
CRs-Fixed: 2670060
2020-05-28 21:07:25 -07:00
nshrivas
fd7d53a4fc Release 5.2.0.187Z
Release 5.2.0.187Z

Change-Id: I33a0b20f85a3262d3d991472c87296866dfe617f
CRs-Fixed: 774533
2020-05-28 17:28:44 -07:00
Utkarsh Bhatnagar
0deba7575b qcacld-3.0: Clean up wlan_sap_set_vht_ch_width
Remove wlan_sap_set_vht_ch_width as it wasn't
used anywhere.

Change-Id: I556269bfeb4df243720397a6ad2500b90bc8835d
CRs-Fixed: 2695940
2020-05-28 17:28:44 -07:00
Utkarsh Bhatnagar
0a61d6462b qcacld-3.0: Implemented Chainmask NL command
Implemented driver interface for NL command for setting
and getting TX and RX chains. The chains can be set to
either chain 0(1) or chain 1(2) or both(3). This is only valid if
antenna mode is set to 2X2.

Below command can be used to set the chainmask:
iw phy <phyname> set antenna <bitmap> | all | <tx bitmap> <rx bitmap>
Example:
iw phy0 set antenna 1   -- to set both Tx and Rx chain 0.
iw phy0 set antenna all -- to set all/both chains for rx/tx
iw phy0 set antenna 1 2 -- to set chain 0 for tx and chain 1 for rx

Below command can be used to get the chainmask after set:
iw phy <phyname> info

check for "Configured Antennas: TX 0x1 RX 0x1"

Below conditions should be met for setting chainmask:
1. Antenna sharing should be disabled.
2. gEnable2x2 in ini file should be 0
3. enableBTChainSeparation in ini file should be 1
4. DBS should be disabled (gDualMacFeatureDisable = 1)
   or HW should be DBS 2x2 capable
5. set TX/RX chainmask 3 in ini (gSetTxChainmask1x1/gSetRxChainmask1x1)
6. HW should support TX/RX chainmask as 3

Change-Id: I04f6667398eac405a6be61bc039e048090578abf
CRs-Fixed: 2693370
2020-05-28 17:28:40 -07:00
Utkarsh Bhatnagar
f31d749e83 qcacld-3.0: replace mhz of struct wma_txrx_node with chan_freq
chan_freq and mhz variable represent the same thing so use chan_freq
instead of mhz.

Change-Id: I4162504562c30ece71f5ebc465b1af3a048b01b2
CRs-Fixed: 2696795
2020-05-28 17:28:37 -07:00
nshrivas
aba4cdf298 Release 5.2.0.187Y
Release 5.2.0.187Y

Change-Id: Id3cf3295dc061c4f9921ab35446a0800155ef636
CRs-Fixed: 774533
2020-05-28 12:07:55 -07:00
Alan Chen
36a60df68b qcacld-3.0: Fix dp_trace related compilation issues
As part of this change I2e7caec268776a79d7166020c64af93fee2f8aec,
the feature flag was not properly defined and there were some compilation
issues. Hence, this change is fixing these issues. Also, add unit test
ini check in fw unit test command.

Change-Id: Ia8dfedec19d4d97c8c100321a0a012ee1a1b6a00
CRs-Fixed: 2695208
2020-05-28 12:07:55 -07:00
nshrivas
6f9314eebe Release 5.2.0.187X
Release 5.2.0.187X

Change-Id: Ib59e51a7191f2e7f3947a94e0e3dafb93f49fe88
CRs-Fixed: 774533
2020-05-28 10:42:58 -07:00
Nisha Menon
761251b822 qcacld-3.0: Fix bandwidth vote level for device in monitor mode
Bandwidth level was set correctly to PLD_BUS_WIDTH_VERY_HIGH
but current vote level was not updated for monitor mode.
Due to this during PCI link down the reg writes for SW2WBM
release ring were enqueued in delayed register write work
queue instead of being written directly.

Delay in scheduling the workqueue results in SW2WBM release
ring getting full which results in invoking panic.
Hence update the current vote level along with the bus
bandwidth in HDD open function for monitor mode.

Change-Id: Ib9861a038afa6ca7758ea35afcae2bcfe9e69b60
CRs-Fixed: 2690247
2020-05-28 10:42:58 -07:00
Balaji Pothunoori
42326695a7 qcacld-3.0: set fixed txpower using nl80211 interface
This change is to set txpower to specific interface
from iw.

Ex:
"iw dev <interface name> set txpower fixed <value>"

Change-Id: I5a3195a36cd2d7252eb3ef0312545d338b4000ec
CRs-Fixed: 2677223
2020-05-28 10:42:54 -07:00
nshrivas
0a952989cd Release 5.2.0.187W
Release 5.2.0.187W

Change-Id: Id6b9088d25f5a3962a302a03dac5180f36ed33d0
CRs-Fixed: 774533
2020-05-28 07:57:03 -07:00
Yeshwanth Sriram Guntuka
265174a512 qcacld-3.0: Update rx mpdu count in link layer stats rsp
Rx mpdu count received as part of peer link stats
event from firmware does not have the proper values.

Fix is to fetch the rx mpdu count from dp layer and
update the rx mpdu count before sending the stats to
HDD.

Change-Id: I945d32c7701f5f5c9bfbbaa6ab4576b94389c84c
CRs-Fixed: 2691648
2020-05-28 07:57:02 -07:00
nshrivas
74900c8aaa Release 5.2.0.187V
Release 5.2.0.187V

Change-Id: I0cd5f77f8d4ded536ef03db55186bc6c861fa5e5
CRs-Fixed: 774533
2020-05-27 02:15:04 -07:00
gaurank kathpalia
9064ce5cb3 qcacld-3.0: Enable band preference for 6ghz
Enable band preference for 6ghz and give default
max weightage to 6ghz to push it for STA operation.

Change-Id: I2fb1d68bb0d8535b4e9813fdd1551723a1fe4f56
CRs-Fixed: 2688585
2020-05-27 02:15:04 -07:00
nshrivas
406050efd0 Release 5.2.0.187U
Release 5.2.0.187U

Change-Id: I8a2f985f8b36763b391e9e0aeff9136686aea693
CRs-Fixed: 774533
2020-05-27 00:57:42 -07:00
Mahesh Kumar Kalikot Veetil
0d007bf428 qcacld-3.0: remove realpath dependency
Android build system is using toybox “realpath” which doesn’t have
“—relative-to” option as in GNU tools. Use more generic python API.

Change-Id: Ib129bd721056e2fcb563817ac61cc6811568f68d
CRs-Fixed: 2676451
2020-05-27 00:57:42 -07:00
Mahesh Kumar Kalikot Veetil
efd0269fde qcacld-3.0: Make absolute path to relative
Make include paths relative to kernel build directory. This will fix
the following error due to long absolute path in include directories,

	make[2]: execvp: /bin/sh: Argument list too long
	make[2]: *** [path/to/object/file] Error 127

Change-Id: Ic930384f38f2166e6bede8d16ac37b359dd48a0d
CRs-Fixed: 2661829
2020-05-27 00:57:38 -07:00
Mahesh Kumar Kalikot Veetil
4b136b1ca9 qcacld-3.0: Add an option to use default profile
Check WLAN_CFG_USE_DEFAULT to use default profile in case
TARGET_MULTI_WLAN is defined. Default configuration will be used
to build WLAN driver for multiple chipsets.

Change-Id: Ib5b64fd8213f401b043aa7792cc8ac734cd722b8
CRs-Fixed: 2661827
2020-05-27 00:57:35 -07:00
Ashish Kumar Dhanotiya
2779e62274 qcacld-3.0: Send the data rate in mbps for SAP big data
Currently host driver sends the data rate of connected
peer in the units of kbps whereas user space expects the
data rate to be in the units of mbps.

To address above issue, add a change in the host driver
to send the data rate in the units of mbps.

Change-Id: I022659f1cd16ff62dc5b9379405c35c651381e4f
CRs-Fixed: 2688150
2020-05-27 00:57:32 -07:00
nshrivas
fb41acb372 Release 5.2.0.187T
Release 5.2.0.187T

Change-Id: I514383ec8a7afa0f51470e1e92904b96c735fb29
CRs-Fixed: 774533
2020-05-26 23:34:23 -07:00
Gururaj Pandurangi
7f2e4159da qcacld-3.0: Set current bss color in lim
The current bss color value is 0 in color
detection config which is not valid. Set
it accordingly in lim to share the correct
bss color config to FW.

Change-Id: I4387c7eb661846d70b62cde41b64b9c174e2f48c
CRs-Fixed: 2689632
2020-05-26 23:34:23 -07:00
nshrivas
c82b2c0c6a Release 5.2.0.187S
Release 5.2.0.187S

Change-Id: Ic5befacff0ae06145086335124c32f2e727a4c1b
CRs-Fixed: 774533
2020-05-26 19:35:23 -07:00
Jianmin Zhu
da8f2bf948 qcacld-3.0: Fix watchdog when dump Roame FW after panic
When kernel panic, irq will be disabled, when dump Rome
firmware, dma buffer is malloced and freed every time
hif_diag_read_mem is called to dump 20K mem, dma_free_attrs is
called 100 times for 2M mem dump, WARN_ON(irqs_disabled())
will printk stack about 100 times in short time, watchdog bite.

Fix: Change dma mem malloc size from 20KB to 256KB, then only
malloc/free less than 10 times totally when dump Rome firmware.

Change-Id: I803b2cd30a1c6cdc1ce8f8f1073cdb6c17b650af
CRs-Fixed: 2693690
2020-05-26 19:35:22 -07:00
nshrivas
30b9e2409e Release 5.2.0.187R
Release 5.2.0.187R

Change-Id: I0a59b51b67e0929521d481171b3438cae944e552
CRs-Fixed: 774533
2020-05-26 01:40:38 -07:00
Jinwei Chen
92f508a5eb qcacld-3.0: flush batched GRO_NORMAL packets
Kernel 5.4 has applied batched GRO_NORMAL packets processing
for all napi_gro_receive() users. this requires NAPI users to
call napi_complete_done() or napi_complete() at the end of every
polling to flush batched GRO_NORMAL packets.
However, by current wlan driver design, napi_gro_recevie()
is not happened in same NAPI polling context and done in another
thread context, it likely packets which have not been flushed from
napi->rx_list will get stall until next RX cycle.

Fix this by adding a manual flushing of the list right after
napi_gro_flush() call to mimic napi_complete() logics.

Change-Id: Ib3e851c0822a85c4712a1b817cc19dfecf6d0e7a
CRs-Fixed: 2673959
2020-05-26 01:40:38 -07:00
nshrivas
019cc02a92 Release 5.2.0.187Q
Release 5.2.0.187Q

Change-Id: Ic4dd8a99145b07eca5903d8ef252fa89a8374d9a
CRs-Fixed: 774533
2020-05-25 02:27:10 -07:00
Min Liu
98fe0cf0b2 qcacld-3.0: Add the sysfs entry for pm_dbs
Previously pm_dbs would be queried via iwpriv
    --> iwpriv wlan0 pm_dbs [dbs] [system_pref]
it is now changed to support via sysfs:
    --> echo [dbs] [system_pref] > /sys/kernel/wifi/pm_dbs

Change-Id: I3f6b153a58be6932cafbc1df15ef4a62971ba954
CRs-Fixed: 2692150
2020-05-25 10:58:36 +08:00
nshrivas
3fa1687f2c Release 5.2.0.187P
Release 5.2.0.187P

Change-Id: Id82377cfd843099603f0cd0b44828fe80ecfff4f
CRs-Fixed: 774533
2020-05-24 06:39:54 -07:00
Arun Kumar Khandavalli
08df65447c qcacld-3.0: Add the sysfs entry for policy manager commands
Previously pm_cinfo,pm_pcl  would be queried via iwpriv
      --> iwpriv wlan0 pm_cinfo
 it is now changed to support via sysfs:
    --> cat /sys/class/net/wifi/pm_cinfo
    --> echo 1 > /sys/kernel/wifi/pm_pcl

Change-Id: I437eb6d4e9424f3aed9d1cf218333371c9a9f93b
CRs-Fixed: 2684258
2020-05-24 06:39:54 -07:00
Arun Kumar Khandavalli
7f3ce11381 qcacld-3.0: Add sysfs entry for the pktlog
Add the sysfs entry for the pktlog.
Previously get_ampdu,get_amsdu would be queried via iwpriv
    --> iwpriv wlan0 1 1 pktlog
it is now changed to support via sysfs:
    --> echo 1 1 > /sys/class/net/wifi/pktlog

Change-Id: Id5461c86bb1369a04bc68514e874df6df1230b85
CRs-Fixed: 2684106
2020-05-24 06:39:50 -07:00
Arun Kumar Khandavalli
40c74bf143 qcacld-3.0: Add sysfs entry for the ipaucstat
Add the sysfs entry for the ipaucstat.

Previously ipaucstat would be queried via iwpriv
--> iwpriv wlan0 ipaucstat 1

it is now changed to support via sysfs:
--> echo "1" > /sys/class/net/wlanxx/ipaucstat

Change-Id: I5a3195a36cd2d7252eb3ef0312545d338b40d3ec
CRs-Fixed: 2676440
2020-05-24 06:39:46 -07:00
nshrivas
5a1000a798 Release 5.2.0.187O
Release 5.2.0.187O

Change-Id: Ib9ef5d7484cb30b4024112d04ccc052f34eadc91
CRs-Fixed: 774533
2020-05-23 21:09:18 -07:00
Alan Chen
9e714990e7 qcacld-3.0: Rename gAdvancedPowerSaveMode to gOptimizedPowerManagement
Rename gAdvancedPowerSaveMode to gOptimizedPowerManagement.

Change-Id: Ie6260a030ab94c27c993987168d70b768184a91f
CRs-Fixed: 2693883
2020-05-23 21:09:18 -07:00
nshrivas
71c99e5691 Release 5.2.0.187N
Release 5.2.0.187N

Change-Id: I1611632dda5d6ada1250947667d8726e014c605c
CRs-Fixed: 774533
2020-05-23 16:26:00 -07:00
Min Liu
efc4350044 qcacld-3.0: Add sysfs entry for dumpStats and clearStats
Add the sysfs entry for dumpStats and clearStats.
Previously these commands would be queried via iwpriv
--> iwpriv wlan0 dumpStats [stats_id]
--> iwpriv wlan0 clearStats [stats_id]
it is now changed to support via sysfs:
--> echo [stats_id] > /sys/class/net/wlanxx/dump_stats
--> cat /sys/class/net/wlanxx/dump_stats
--> echo [stats_id] > /sys/class/net/wlanxx/clear_stats

Change-Id: If8e4d997bc621df98732461802fdd9cea89bd1ce
CRs-Fixed: 2685995
2020-05-23 16:26:00 -07:00
nshrivas
e20743488c Release 5.2.0.187M
Release 5.2.0.187M

Change-Id: I1f218448e509ad07f5070968774d9d42dc39be62
CRs-Fixed: 774533
2020-05-23 14:26:39 -07:00
gaurank kathpalia
4f97da5b23 qcacld-3.0: Add BSSID to avoid list for STA-KICKOUT
If the STA-KICKOUT event comes too frequently for
a certain AP, then the AP might have some genuine
issue and should not be tried again and again in
intial connection and roaming case scenarios.
So it is better to avoid this AP and if the AP
still faces a kickout then after 3 attempts which
is ini configurable the driver would blacklist
it to avoid ping pong.

Change-Id: I8221cca9adc777ca275fdd76c2f8ba17cd12c14f
CRs-Fixed: 2683615
2020-05-23 14:26:39 -07:00
nshrivas
0c517cc889 Release 5.2.0.187L
Release 5.2.0.187L

Change-Id: I0bfbd3b5cdfe2f1ecbcd815147c095fb4e8cc7fd
CRs-Fixed: 774533
2020-05-22 19:46:56 -07:00
Alan Chen
d72007751c qcacld-3.0: Add connection check before dhcp protection
Add connection check in set_power_mgmt() before enabling dhcp
protection since set_power_mgmt() can be called in disconnected
state as well for enabling power save.

Change-Id: I4b1796ba45ebf0561f4b58b066bfa63c0ca697ea
CRs-Fixed: 2690325
2020-05-22 19:46:56 -07:00
nshrivas
e60eef142e Release 5.2.0.187K
Release 5.2.0.187K

Change-Id: I8a450f42578e3c9c1f5c079da5a2cad72ca8bd74
CRs-Fixed: 774533
2020-05-22 18:29:58 -07:00
Bapiraju Alla
13b5b00850 qcacld-3.0: Handle beacon memory leak in SAP mode
Free the beacon memory during hdd_sap_destroy_ctx if it is not
already freed.

Change-Id: Ib941878e0402c48f4eacbd8593822d35f4e6dac1
CRs-Fixed: 2691300
2020-05-22 18:29:58 -07:00
Min Liu
e95713a94e qcacld-3.0: Add sysfs entry for dump_dp_trace
Add the sysfs entry for dumpStats and clearStats.
Previously these commands would be queried via iwpriv
enable / disable --> iwpriv wlan0 dump_dp_trace [1/3]
show --> iwpriv wlan0 dump_dp_trace 0
clear --> iwpriv wlan0 dump_dp_trace 2
it is now changed to support via sysfs:
enable / disable --> echo [1/0] > /sys/kernel/wifi/dump_dp_trace
show --> echo 2 [count] > /sys/kernel/wifi/dump_dp_trace
         cat /sys/kernel/wifi/dump_dp_trace
clear --> echo 1 > /sys/kernel/wifi/clear_dp_trace

Change-Id: I2e7caec268776a79d7166020c64af93fee2f8aec
CRs-Fixed: 2691705
2020-05-22 18:29:54 -07:00
nshrivas
2f03788ba1 Release 5.2.0.187J
Release 5.2.0.187J

Change-Id: I2e8a30d857138c0f2944d4a67aeb09252117d093
CRs-Fixed: 774533
2020-05-22 13:53:50 -07:00