When kickout event is received from firmware, the function
wma_is_roam_in_progress is called to check the roaming in
progress using vdev_id .
Vdev_id needs to be checked for valid vdev_id prior to
derefencing it.
Change-Id: Ib56895ad73b5dcefe7a0b9f65089306bf42d78eb
CRs-Fixed: 3020665
Currently, wmi_roam_pmkid_request_event_id data is extracted and
processing is also done in wma. This is not inline with component
model where target_if takes care of data extraction and handover
the extracted data to corresponding component(connection mgr in
this case). Add changes to support the same.
Change-Id: I3fad4e4d7ceeb85c632723e161809bf980d5375f
CRs-Fixed: 3014248
Currently, wmi_roam_auth_offload_event_id data is extracted and
processing is also done in wma. This is not inline with component
model where target_if takes care of data extraction and handover
the extracted data to corresponding component(connection mgr in
this case). Add changes to support the same.
Change-Id: I128db23077d423c5e5ecf27636bc3af35cbbc58f
CRs-Fixed: 3010419
SAP/GO D3 WoW feature is not supported when IPA is enabled and hence
disable SAP/GO D3 WoW features when IPA is enabled.
Change-Id: Ia3da37087a0ca79c81c546f43a0893e46cf08c3c
CRs-Fixed: 3015104
When sources of CNSS family drivers are compiled out of kernel tree,
all necessary config flags will come from upper level Makefile files
like wlan.mk instead of kernel defconfig. Also module symbol file will
not be part of kernel build output directory anymore. Hence add changes
in Android.mk to handle such case in oreder to compile WLAN host driver.
Change-Id: I3f104ddb7495ca2dfb797adbc7dc982d2f24d30c
CRs-fixed: 3022579
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
The current way in the driver to handle CONFIG_CNSS_UTILS=m and
CONFIG_WCNSS_MEM_PRE_ALLOC=m will not work if the flags are not
coming from kernel Kconfig directly (e.g. CNSS utils and prealloc
module sources are built out of kernel tree) since "cppflags-
$(CONFIG_FLAG) += -DCONFIG_FLAG" will not take effect if CONFIG_FLAG=m.
Fix it in a proper way which is same as handling CONFIG_CNSS_GENL.
Change-Id: Iab4bf34bd1ae89f947bc5f7080e18569810f5f58
CRs-fixed: 3022560
Sap is started on freq 5640Mhz with BW 160Mhz and radar event
generated, and then SAP moves to freq 5680Mhz.
But before the move done, the regdomain update (because of Radar
detection) will trigger the wlansap_get_chan_band_restrict to run
and further move to SAP to freq 5180Mhz.
The client side still get old CSA event with 5680Mhz, and switch to
5680Mhz and get Bmiss finally because actually SAP is moved to 5180Mhz.
The band restrict logic should not handle radar disabled channel.
The radar detected channel (in NOL) should be handled by SAP radar
channel switch logic only.
Fix by skip the band strict check if disabled channel is in NOL
list, let the SAP radar logic to handle channel switch.
Change-Id: Ic284cf48653d7ebf8bc37a33d6caf1a5e673b78e
CRs-Fixed: 3019950
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
User configuration support to use scan request BSSID value
in Probe Request frame RA during the scan.
Change-Id: Ie0b7620428e1bfbd51e7430b6b7ad23ebede9e67
CRs-Fixed: 3021525
In roam invoke request, if bssid is same as connected
bssid use connected frequency.
Change-Id: I0e205ffab002b80021bf6a615e4cfc0a723f0ba5
CRs-Fixed: 3022351
When AGO starts ACS with 160Mhz, and driver selects 5660Mhz based on
channel weight because no 160mhz channel available at the time.
But ch freq 5660Mhz is not in PCL for AGO, driver selects 5825Mhz
based on channel weight. 5825Mhz only supports 20Mhz in current
regdomain and it's not preferred channel bw.
Fix by try fallback to lower bandwidth channel if request bw channel
unavailable.
Change-Id: I5646aefc5fbd48acb1396edf0e182616391e027c
CRs-Fixed: 3018731
Current even without connection, there is possible
rtpm is vote for up, which block suspend. which cause
more power consumption.
change as only allow pm qos vote when sta connected.
Change-Id: I44176ee233d4b2fb1d7a0d51936c847b2ce5f327
CRs-Fixed: 3019401
Enable the firmware module WLAN_MODULE_WPM with error log level
in wow mode by adding default values in the ini gFwDebugWowModuleLoglevel.
Change-Id: I53a729bde6cfb6d8141864472718a2d8da9efead
CRs-Fixed: 3022434
Populate assoc assoc link id in ML IE of an assoc request from
scan cache entry
Change-Id: I82b2b68f45411b1588c76ddd7ce9d21a93d972f3
CRs-Fixed: 3013684
Pointer 'ie_struct' returned from call to function
wlan_get_parsed_bss_description_ies, it may be NULL,
if not checking the function return status, this pointer
may be dereferenced. Check the return status to avoid it.
Free the allocated memory for error exit case.
Change-Id: I4d813838f25b5e2ad3069ad9547bb95f8f6a0e5b
CRs-Fixed: 3016814
When setting the country code, host sets a flag to keep track if its
waiting for a response from firmware. During init cases, host receives
this event without it ever setting the flag. This could cause issues in
retry logic if multiple events come back to back. Set this flag when
starting modules to block other events from happening as the country
is being updated.
Change-Id: I5850568e9d5729b22346b8ec0a1f212a886c4c36
CRs-fixed: 3010090
AGO started on 5220Mhz with BW 160Mhz, later Radar detected and
switch to 80Mhz by sap_indicate_radar API.
Sap_indicate_radar will overwrite sap_ctx->ch_params.ch_width to 80Mhz.
After commit I26ff00286b8e0cec33d3a63098f93d4000684df0,
sap_operating_on_dfs API will use sap_ctx->ch_params to check SAP
on DFS or not to decide channel switch for current ap.
This case sap_operating_on_dfs will return "false" for current
SAP (160Mhz), and then the Radar channel switch is not processed
by driver.
Fix by using the mlme API to get current SAP channel and dfs flags.
Change-Id: I1bbcc185c13cf6e40b9f5415cbdceb7ff3527470
CRs-Fixed: 3016683
-Extract new wmi struct added as part of MLO roaming
changes.
- Send EHT and MLO weightage percentage to FW via
WMI_ROAM_AP_PROFILE.
Change-Id: I6b3f1f62ef6ea323cd1b75f63a5c63c38b000f1f
CRs-Fixed: 3010039
cfg80211 resume request will be rejected if there is an SSR in
progress, Because of this modules are not coming out of suspend state
when there is an SSR after suspend request.
To avoid this, resume all modules before recovery shutdown.
Change-Id: I3d749e0a5971468805a009cb990a220e0645c169
CRs-Fixed: 3016002
In the case of kernel 5.10, we are not receiving PM QoS Vote
notification due to which device is entering runtime suspend
in the case where the device should not enter runtime suspend.
Adding check inside runtime suspend to check if there is any
global PM QoS vote and based upon vote decide if to enter runtime
suspend or not.
Change-Id: Ie6d35254d607e546abdd3ad70720f96d6eb8484d
CRs-Fixed: 3009024
If the STA DUT is attempting to connect in 160MHz channel width,
and if the HE160 Rx/Tx MCS is not valid after intersection, the
STA DUT will fallback to 80MHZ channel width.
Change-Id: I11fe8830851fcbb3796703a605568f83c9ff9932
CRs-Fixed: 3011510
Delay reg write feature is based on workqueue, for MDM platform
that only has one CPU, WQ is preempeted by NETRX/NETTX Soft IRQ
and lead to ring update delay, at last backpressue happens.
Change is aimed to disable delay reg feature for one CPU platform.
Change-Id: I133ab999739449009f18ecb030e9ca889ea63761
CRs-Fixed: 3002768
Delay reg write is not enabled on Waipio,
but it's enabled on former platforms.
Change is to enable it.
Change-Id: I10b5e30fe4d5485d38636fcb34c90ff2772e50ae
CRs-Fixed: 3015389