Add new files for connect/roam logging. Add changes to
initialize the logging buffer.
Make changes to support enqueue/dequeue log.
Define enums for MAIN_TAG, Sub TAG, category.
Add structure definitions for logging buffer.
Change-Id: I1d283fcf464da90d4f5533214d480ddda156ec27
CRs-Fixed: 3013486
Currently wifi creates kobject for dump in progress feature without
any feature flag, since this kobject is for dump is progress
feature and there is already feature flag available for this
feature so move this code under feature flag.
Change-Id: Ib1155194dbec434c3ecd9949514c6c9931e3e661
CRs-Fixed: 3036752
INI g_enable_go_force_scc states the force MCC to SCC mode.
Mode 1-strict: Implement force scc strictly as part of start bss
Mode 2-liberal: Turn on p2p go on provided channel and move
first p2p go to the new p2p go channel after set key.
Currently for p2p-GO forceSCC, support is present where no matter
what is the GO negotiated channel in start_bss, driver will force
the other GO/STA/GC channel (on the same band) to the current GO
channel. This is force SCC strict mode where value 1 is used for
g_enable_go_force_scc ini. In this mode GC will have to do full
scan as the GO channel may be different from actual negotiated
channel. DUT may see some issues if GC dosent do full scan in
this mode.
As part of this change, add support for value 2(Liberal mode)
in g_enable_go_force_scc ini. As part of this liberal mode,
driver will allow the GO to start in MCC mode and after set key,
it will check any other concurrent GO and will do forceSCC for
that GO to the newly formed GO channel.
Change-Id: Ifc7beb06335616c51dc064f48a78b825dbdbda25
CRs-Fixed: 2992098
If SAE/H2E required by hostapd configure, it must populate in
supported rate or extended support rate set, add host driver support
to check this flag and populate it in extended support rate set.
Change-Id: Id75b5743e93a1a0f1d13150d5436d256e2ca117c
CRs-Fixed: 3016492
Currently driver don't have any feature flag for connection
roaming ini config and it directly tries to read the connection
roaming ini file, on some of the platforms if this ini file is
not present it returns failure message but some of the platforms
results in timeout which results in unexpected behavior.
To address above issue add a feature flag to read connection
roaming ini config.
Change-Id: Ica4159533e46ca5cc2048bf50eab2290bf5ae7d5
CRs-Fixed: 3035148
Peer state of mlo sta info is not changed to OL_TXRX_PEER_STATE_AUTH
while Peer state of link sta info is changed to OL_TXRX_PEER_STATE_AUTH
Peer state of mlo sta info should be changed together with link sta info.
When change the state of a SoftAP station, do it for mlo sta info.
Change-Id: I6c157d1381543637d9ce82c9a45864eed6de4396
CRs-Fixed: 3032861
Currently, mode of p2p virtual interface with type managed
is added as sta mode. This may cause issue during p2p find
as in function p2p_vdev_check_valid probe response frames
are dropped for sta mode.
Fix is to convert mode to P2P DEVICE mode from STA mode in
case added interface string contains p2p substring.
Change-Id: I9bf9d8c44af940b42c38cd7819bcdb9c00a90a26
CRs-Fixed: 3036500
For CPU, the enter & exit latency of the deepest LPM mode(CXPC) is
about ~10ms. So long as required QoS latency is longer than 10ms,
CPU can enter CXPC mode. Add 10 ms threshold for allowing and
preventing dynamic RTPM from PM QOS callback.
Change-Id: I8e3026e0e1bab548ab727a52569de9cb17fb5918
CRs-Fixed: 3032657
The current logic to wait for the regulatory update is set in
hdd_wlan_start_modules. However, this function is called in both normal
startup and in idle restart. The regulatory event only comes to the
driver on idle restart. Set the flag in the idle restart path only.
Change-Id: I52ac1f2d84650fd3757133c9bc28e87ee2b903cb
CRs-fixed: 3030575
Network package timestamping is optional for TSF feature,
to make it configurable, add a new build flag
WLAN_FEATURE_TSF_PLUS_SOCK_TS.
This flag will be set only when CONFIG_WLAN_SYNC_TSF_PLUS
is enabled and CONFIG_WLAN_SYNC_TSF_PLUS_DISABLE_SOCK_TS
is not.
Change-Id: I413e85fadf93264cd41c2739b6d870aa08d60efb
CRs-Fixed: 3027378
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
In the SAP + p2g go SSR case, wpa_supplicant
will receive INTERFACE_UNAVAILABLE while driver
is doing SSR, then it will triger wpa_supplicant
to remove the p2p go from the interface and
change the mode from NL80211_IFTYPE_P2P_GO to
NL80211_IFTYPE_STATION. But it has the possibility
that switch mode failure due to qdf_is_recovering
is true from __dsc_vdev_can_trans, then
wpa_supplicant will get error code -EINVAL from
wlan_hdd_cfg80211_change_iface.
But current wpa_supplicant just only support
mode switch retry in the EBUSY case, so change the
return value from EINVAL to EBUSY if driver is
in recovery state to let wpa_supplicant has the
chance to do mode switch retry in the SSR case.
Change-Id: Id0f959a1e8386061d0258f520dba17e9efae1d08
CRs-Fixed: 2929212
Currently wlan_hdd_mgmt_tx path is still using legacy API to convert
channel frequency to number, it is not applicable for 6Ghz channel if
convert it back from number to frequency.
Fix it by replace all places where using legacy API to convert channel
and use channel frequency from supplicant directly. It can fix mgmt tx
from supplicant on 6Ghz channel.
Change-Id: I60fe37d7d716eeaceaa00f3fb59c77b629ebacac
CRs-Fixed: 3024898
Output of log in hdd_enable_igmp_offload() should be igmp, not gtk.
Hence, change the log to print igmp instead.
Change-Id: I3a84b1d9e38abce1e57dd5823b833ee5bc173b57
CRs-Fixed: 3032679
When we request bus bandwidth by tx/rx pkt on armv7(32bit).
The timer statistical value of bw_vote_time is overflow,and
become small.So, next time, the diff_us calculate result is huge,
the total pkt is always zero.so the request always fail.
Change-Id: Ifaff8abd2b901f5f32f7a95b347365678cf2f3c4
CRs-Fixed: 2983899
ARP response dropped at OSIF due to non-availability
of sta entry with MLD address.
Added sta entry in OSIF/HDD context with MLD address.
Change-Id: Iff70197ca5707b88ea80b42a60a2b1fb383f00a9
CRs-Fixed: 3017249
During unload driver, if hdd_reg_notifier to be called
from kernel, it has the possibility that cause
regulatory_update_event to be reset after it has been
destroyed, which causes "Failed assertion 'event->cookie
== LINUX_EVENT_COOKIE'". So adds this fix to ignore the
regulatory notify request if it is in unloading state.
Meanwhile destroy the event after unregister wiphy
also can help on such kind of issue.
Change-Id: I527517c7f1443a4e211782f74b03e2fca40ab552
CRs-Fixed: 3028357
Currently host driver processes radio stats events with
scheduler thread without any lock and invokes hdd callback.
In hdd these stats gets handled in user space thread and after
processing stats, user space thread frees the memory allocated
in wma. Since one thread allocates the memory and other
thread frees the memory, this can lead to race conditions where
this memory might not get freed and mem leak can happen.
With this change add locking mechanism to allocate, use and to
free the memory.
Change-Id: I95906133bb2208a258c5cec16f4f01b1321ed0c2
CRs-Fixed: 3020218
Currently driver does not check the mode of the current interface
whether it is STA of CLI and it caches the connection info, in this
process it allocates the memory to cache he operation, this memory
get freed only for station type adapter because of which there is
a possibility of memleak for CLI interface.
To avoid above issue, add a change to only cache the information
STA interface.
Change-Id: Ic68d71dfd9887600fe1a287de66d735c2c802491
CRs-Fixed: 3028583
Since walt is msm-only scheduler group of features,
not upstreamed. Include walt.h header when CONFIG_SCHED_WALT
has been enabled.
CRs-Fixed: 3023911
Change-Id: I7f334952fd624606b9ddf1b53237cea52628abbb
For MLO, add support to hdd install key api's
on wdevs without netdev. Add changes under config
flag "CFG80211_KEY_INSTALL_SUPPORT_ON_WDEV".
Change-Id: I67de2ba36dd86f0814c820756d5f49b765defda6
CRs-Fixed: 3017312
Remove STA specific enums from eConnectionState. Also remove
its prints from STA dependent code.
Change-Id: I1a06d16a060bec90147dcf94925582877352d1a8
CRs-Fixed: 3028099
In some stress test, like doing random on/off sap and random SSR, sometimes we
can hit below test situation:
1. trigger SSR first by calling hdd_crash_inject, then immediately off SAP, the
two actions almost happen at the same time.
2. the action of off SAP calls __wlan_hdd_del_virtual_intf to delete SAP interface
and is waiting for qdf_stop_bss_event completion event.
3. at the moment, sys error interrupt happened, CNSS layer would send PLD_FW_DOWN
event to host driver first. Due to PLD_FW_DOWN event call qdf_complete_wait_events()
to forcedly reset all completion wait event, this action may cause
__wlan_hdd_del_virtual_intf to do vdev destroy before vdev resp mlme state machine
is processed. Once vdev destroy is executed, it will set vdev obj_state to
WLAN_OBJ_STATE_LOGICALLY_DELETED, then vdev resp will not have chances to be flushed,
and then cause peer reference count leakage.
Fix solution: use qdf_wait_single_event instead of qdf_wait_for_event_completion to
avoid stop_bss_event forcedly reset before stop_bss_event is done or timeout.
Change-Id: I45b662fd17ec56bb8fc4453627bdcb41dedf79e0
CRs-Fixed: 2987511
This reverts commit "Change-Id: I847468f0c1839974ea1c6cd31260fb7ef4fbb897"
Revert this change as kernel is not reading cac duration from
wiphy channels, kernel reads the cac duration from reg rules.
Change-Id: I794bb3ddd67f551daf9b4c3b9320909224ac4d76
CRs-Fixed: 3020354
As part of the new GKI model, multiple driver are loaded parallelly
resulting in a error message from the kernel regarding the multiple
registrations of the /dev/wlan.
Register the /dev/wlan file to the kernel once the device is
identified and driver registration is success.
Change-Id: Iaca40abb62be5f59f129604a9a6d74ada6a4ad3a
CRs-Fixed: 3027521
Update unit test command for policy mgr pcl validation to
support new SBS PCL type.
Change-Id: Ib02ce6c69400d0f47307523d690e1d81a8c0ef83
CRs-Fixed: 2998526
Currently the PS config received from kernel/userspace is set
to mac_ctx globally. This causes PS config set for one vdev to
override on the other vdev.
To avoid this, set the PS config per vdev.
Change-Id: I6a2e2a9d8fb67b94d9d5f1d4164077990bdaf4a5
CRs-Fixed: 3007060
Remove ioctl cmd GETROAMSCANCHANNELS in the driver as this
is no longer required from Android S onwards.
Change-Id: I5b57a9a34cbe4b023334855751263fe435d0bdbf
CRs-Fixed: 3021665
Remove ioctl cmd SETROAMSCANCHANNELS in the driver as this
is no longer required from Android S onwards.
Change-Id: I904b7a5407997b07c23a40f14d6c7328ec9de8ea
CRs-Fixed: 3021662
OEM-SS sends ROAMBAND attribute via the vendor command
QCA_WLAN_VENDOR_ROAMING_SUBCMD_CONTROL_SET to host to
get current roam band value in the host.
Fix is to process ROAMBAND attribute and send roam band
value to upper layer.
Change-Id: I56b208d00b40d4d3e6d3658d23fa1073f6fe1146
CRs-Fixed: 3009753
Whenever host Receives vendor command for SETROAMBAND, Host should
set PCL list as per roam band to fw so that FW can use updated pcl
list for further roaming.
Change-Id: I2f48833801b75f25aaf37ea479867b19477ceecb
CRs-Fixed: 3009751
Process the BAND_MASK attribute which comes to the
host via the QCA_WLAN_VENDOR_ROAMING_SUBCMD_CONTROL_SET
vendor command. Save the value of this band mask into
the RSO configuration structure.
Change-Id: I57ecc10912a38207ef478b38cf3add3c584dd2f4
CRs-Fixed: 3009749
Currently driver cleanup sta connection info at stop
adapter because of which if query for sta connection info
comes after adapter restart, in that case driver is not able
to return this info.
For example according to new design of Android-S, framework
issues stop adapter after every disconnetion to update mac
address dynamically, after that it starts adapter again, now
if driver gets request for connection info, it is not able to
provide the connection info as it is already cleaned up on stop
adapter.
To address above issue, cleanup sta connection info at close
adapter instead of stop adapter.
Change-Id: I54247d4577dd7f8cf1c7d7bc657005a09d69d0df
CRs-Fixed: 3000842
Currently the driver dump directory is getting created by appending
the chipset name but wifihal is trying to read the driverdump
file from debugdriver directory.
Don't append the chipset name in the driver dump dir.
CRs-Fixed: 2974459
Change-Id: I7b32a3d0f967d642828a5b5ad4579befe09de652
Add support for CFR feature for adrastea target. A new feature
flag CONFIG_WLAN_CFR_ADRASTEA is introduced for this purpose.
Also adrastea do not support enhanced CFR so when only
WLAN_CFR_ENABLE and WLAN_CFR_ADRASTEA are enabled, some
compilation issues are seen as CONFIG_WLAN_ENH_CFR_ENABLE is
not set.
Fix these compilation issues as well as introduce a new feature
flag to add support for CFR in adrastea.
Change-Id: I52bc235c4d271004698163897c15721023410017
CRs-Fixed: 2705119
Add logic to reset the TID with below condition:
1. reset TID value when wifi off happens
2. reset TID value when disconnection happens if
"wlm_latency_reset_on_disconnect" ini is set
Change-Id: Iaf73dfd7a6a9985f8c1af47f788e73ea4fa07882
CRs-Fixed: 3013137
When there is an SSR in between suspend resume sequence,
the resume request will be rejected due to SSR and suspend flag is
not being reset after SSR. Because of this Tx frames are getting
dropped at hdd.
To avoid this, reset wlan suspended flag after SSR.
Change-Id: I3e0e9cb207da0933a85810820038b5b6a90310a6
CRs-Fixed: 3020583
Use CONFIG_CNSS_OUT_OF_TREE to control if CNSS family drivers are
built from in-kernel-tree source or out-of-kernel-tree source since
the exposed header files will be in different paths. This is also
for backward compatibility.
Change-Id: Icc1253f65a596c8579424f056dcd0fcb5e73a4a1
CRs-fixed: 3022566
Add support for sending WMI_REQUEST_THERMAL_STATS_CMDID
to request for the thermal stats via vendor cmd:
QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_GET_THERMAL_STATS
This vendor cmd can either be used to clear the thermal
stats or to request for the thermal stats.
Added ini gThermalStatsTempOffset, which can
configure thermal temperature offset value for capturing
thermal stats in thermal range such as Thermal STATS
starts capturing from temperature threshold to temperature
threshold + offset.
If this ini is set to 0, then the events are disabled.
Also, add support for the FW event where the requested
thermal stats are sent in FW event
WMI_THERM_THROT_STATS_EVENTID().
The following attributes are sent in the events for every
level:
STATS_MIN_TEMPERATURE
STATS_MAX_TEMPERATURE
STATS_DWELL_TIME
STATS_TEMP_LEVEL_COUNTER
Change-Id: If8acdeec5bde33be346332ccaf39d78d0151203d
CRs-Fixed: 3016818