Module is saved in specified memory location when loading. In some
third platform, after rmmod/insmod wlan.ko for a while, wlan.ko may
fail to load due to memory fragmentation.
Split wlan.ko into wlan_resident.ko and wlan.ko. Keep wlan_resident.ko
in kernel all the while and trigger insmod/rmmod only on wlan.ko.
wlan_resident.ko contains all the module realization while wlan.ko
only contains module init/exit.
Change-Id: Iaeb6d810293cc000de8d6ec1df5cd985cef0c317
CRs-Fixed: 2727941
Dynamic rx aggregation feature depends on the context
id which is obtained from the packet context block.
This context id is invalid when this feature is not
enabled, and hence can lead to out of array access/write
leading to memory corruption.
Fix this issue by not using the context id when the dynamic
rx aggregation feature is not enabled.
Change-Id: Ie551217409b0f5aa2f704f9c617949e0d42a74d0
CRs-Fixed: 2742653
To support "no dbs intraband MCC" feature for LITHIUM target, enable
FEATURE_NO_DBS_INTRABAND_MCC_SUPPORT flag in Kbuild.
Change-Id: I2f94d99fae0ec31dd8e5056397e59be3478b7540
CRs-Fixed: 2739080
Enable the sanity check for rx descriptor nbuf
even for the perf build.
Also enable the rx rings history.
Change-Id: Ib127029009d0657ea51d3592af6a42f3de210c16
CRs-Fixed: 2739120
Enable handling to drop the raw Rx frames as both driver and stack
is not expected to handle them.
Handle invalid FISA flow index which is out of valid FISA flow_id range,
This can happen if we are looking at wrong or invalid TLV, in such case
it is OK deliver frame without FISA aggregation.
Change-Id: I746d4ad1ea5ba6d60cbadddb55803626abfb2868
CRs-Fixed: 2733978
Add macro ROAM_OFFLOAD_V1 for new code and implement below functions
for connection manager roam part:
csr_handle_roam_state_change() roam offload state related handler.
Filling WMI_ROAM_SCAN_RSSI_THRESHOLD cmd parameters related process.
Change-Id: I0351155ca5a3d68ade6568c7527c5708582ccf1a
CRs-Fixed: 2730826
Rename file name and modify function names to keep it inline
with sysfs attribute name 'stats'
Change-Id: Iffc390d4865977f9eff72a6a4bcf708c014f482e
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'range_ext'
Change-Id: Icf7ebbbcf1b8b219e64d1c9b98f1946069f91322
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'wlan_dbg'
Change-Id: I7d0e7b67afa701abd64efb62012c218ee4ab158d
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'fw_mode_config'
Change-Id: Ia389fa8807bbd0e58de58c503d9f3bbbef9ec707
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'scan_config'
Change-Id: I6621cbe5571541d073072ef9e0348d771fd3bc4a
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'radar'
Change-Id: If13effc45323f5a286d8aeb7a8e27848cb3e618b
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'tx_stbc'
Change-Id: I274c1405fab7385202431b48d65603c38783222b
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'tdls_peers'
Change-Id: If6aa504dccd22ce0ccff11f3d73ffb1eedb5895c
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'sta_info'
Change-Id: Ibb13c1496ea1dd5bc3b024b99414ac8d72db3be6
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'temperature'
Change-Id: I8f31d59be9954d3ffe1ff7c11d16dd24b9e2644d
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'monitor_mode_channel'
Change-Id: Ic207d6e29c14a0b33ed4982d533a78729d32a4ba
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'channel'
Change-Id: I9c73e572bdb80edc3431180448dffd9843d6a720
CRs-Fixed: 2731064
ICNSS2 platform driver is used for moselle and adrastea which uses
IPCI and SNOC PLD layer, respectively. Add support to enable both
for ICNSS2 based to target flag.
Change-Id: I06fbacade99b09c9ea7347aa28e10968eaeedaa8
Prevent wow if TDLS is started, allow wow if TDLS link disabled. This
feature is enabled only if lithium plaform isn't drv supported.
Change-Id: Ie66d62cb139fe9a1d292925a78f2dd861f16ef69
CRs-Fixed: 2716922
This reverts Change-Id: I11164995061ee057dfcb3abaef2af2f2d33bfd23.
We need the override configuration in defconfig file. The reverted
change actually disabled the override mechanism. Revert this
change so that the override config will take effect.
Change-Id: I0ffcdcb112e4054dbc2961ba414371fbe5a9e1c3
CRs-Fixed: 2714158
Some of the post processing tools need high resolution timestamps in the
build tag to differentiate WLAN driver modules in the same build. Add
current time with nanoseconds rounded to the first 6 digits, which is
microseconds. Also fix the 'date' command format.
e.g. date -u +'%F %T.%N %Z'
2020-06-25T17:40:43.919224370 UTC
Change-Id: Ie2a8af4dad2aead5738a4c710a201fe9674999f7
CRs-Fixed: 2719008
Enable compilation of the connection manager roam files with
Kbuild changes.
Add new API to store and retrieve the firmware scan channels at
mlme. Also add initial support to post SET_PCL command through
lim, so that it is not sent before ROAM init command.
Add changes to restrict connection of the 2nd STA to
channels on the other band of the 1st STA connected band.
This is done by filling only the allowed band channels in
the scan filters for the 2nd STA connection. If only
1 STA is active, it is allowed to connect on any band.
Add header gaurds for missed header files:
wlan_cm_tgt_if_tx_api.h
target_if_cm_roam_offload.h
Change-Id: Id2bce12b9663ed635ea46164169b088461aab870
CRs-Fixed: 2720341
Do not compile ol_txrx_event.c if set CONFIG_REMOVE_PKT_LOG=y
and CONFIG_WDI_EVENT_ENABLE=n with Hasting
Change-Id: I475e1d4bda818cdef66d961cb95d0193b27029f6
Add dp_aggregation sysfs entry under the wifi sysfs
directory to dynamically control aggregation in the
rx direction.
Change-Id: Ic7b13806f5fbd19fe5c56cabdf71d032b730448c
CRs-Fixed: 2718131
Move STA specific wmi functions from qca-wifi-host-cmn to
qcacld-3.0 under components/wmi. Below is the wmi source tree
qcacld-3.0 \
- components \
-wmi \
src\
inc\
wmi_tlv_attach() will call the STA specific attach functions
defined in wmi_unified_priv.h.
Change-Id: Ia99e12d79500add94791db4447e1f6dbf44c99af
CRs-Fixed: 2714589
Add hif_runtime_pmrelated files in Kbuild to be included
in the driver compilation.
Change-Id: Ifa392a517560a9391419da6733211f52aceb1170
CRs-Fixed: 2699439
The wlan_mem_stats node will print the DMA, SKB and heap
memory allocated in the wlan host driver. This is applicable
to perf and defconfig builds.
File path to new node is:
/sys/kernel/wifi/wlan/wlan_mem_stats
Change-Id: Ic05423d362de1ef07a3ecbdd6408a7226e2a3c2f
CRs-Fixed: 2680360
Add driver command support to dump all the function call
mapping which is cached in global buffer.
Change-Id: I03b2162ccda171005e6fa8a7bb09cbf9c4819421
CRs-Fixed: 2677976
Update the HDD callback to check for phymode change or
channel change when country code updates and stop/restart
the adapter accordingly. Include cases for STA mode,
SAP mode, P2P-CLI mode, and P2P-GO mode.
Add conditional compilation flag for MCC specific API in
qcacmn.
Change-Id: I88edb401146e3cef48d757393f89fa48cb6ac895
CRs-fixed: 2658294
Add the sysfs entry for set_he_bss_clr.
Previously these commands would be queried via iwpriv
--> iwpriv wlan0 set_he_bss_clr [value]
it is now changed to support via sysfs:
--> echo [value] > /sys/class/net/wlanxx/he_bss_color
Change-Id: I4700414469be018de9758277c4e095e64cabb376
CRs-Fixed: 2692916
For Voice and Music (V&M) products, extreme latency optimization is
needed while playing music and discovery, higher power consumption
in this mode could be accepted. With CONFIG_WLAN_LL_MODE enabled,
when latency_level is set to ultra low via cfg80211 vendor command,
update request pm qos type PM_QOS_CPU_DMA_LATENCY to level
DISABLE_KRAIT_IDLE_PS_VAL to speed up CPU efficiency and irq response.
Change-Id: Ifb5bc8169f1cd08500c4b4bc0dd65dd0b3667ab6
CRs-Fixed: 2685074
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
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
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
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
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
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
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
Add a config option to set maximum number of clients allowed.
And set max clients allowed to 64 on SDXPRAIRIE platform.
Change-Id: I4f475abbf5fba8d01f4121e55a87324fdd2d5d70
CRs-Fixed: 2692639