Currently frequency attributes mhz_freq_seg1 and mhz_freq_seg0
are not getting updated in start ap before calling set channel
params api of regulatory component from start bss,
regulatory component uses these attributes to set the correct
channel params.
Since these frequencies params are not correct, regulatory
component is returning invalid ch_params for 80+80Mhz operation
which is resulting in failure of start bss for 80+80Mhz.
To address above issue, update the frequency attributes correctly
in start ap.
Change-Id: If0a8e0ed121b2167ff0226d2bd0048a1fa120f31
CRs-Fixed: 2697754
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
Update hdd_data_stall_process_event to match scheduler_msg_process_fn_t.
Change the argument to scheduler_msg struct and add return status
to match function type.
Change-Id: Id4d2eaaa2262d7fe2dd6241ae4581a3d0cb09805
CRs-fixed: 2697445
Do not define WLAN_AKM_SUITE_OWE if it is defined.
Do not define WLAN_AKM_SUITE_EAP_SHA256 if it is defined.
Do not define WLAN_AKM_SUITE_EAP_SHA384 if it is defined.
Change-Id: Id06961a4c0d03f97279e2b45f9bfc5befb943e66
CRs-Fixed: 2666448
Set WLAN_IPA_MAX_STA_COUNT to WLAN_MAX_CLIENTS_ALLOWED
if WLAN_MAX_CLIENTS_ALLOWED is defined.
Change-Id: Ic7b3706897cec8ee149bab12cd91c94ae04f75ef
CRs-Fixed: 2658585
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
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
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
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
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
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
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
chan_freq and mhz variable represent the same thing so use chan_freq
instead of mhz.
Change-Id: I4162504562c30ece71f5ebc465b1af3a048b01b2
CRs-Fixed: 2696795
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
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
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
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
Enable band preference for 6ghz and give default
max weightage to 6ghz to push it for STA operation.
Change-Id: I2fb1d68bb0d8535b4e9813fdd1551723a1fe4f56
CRs-Fixed: 2688585
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
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
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
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
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
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
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
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