Currently driver does not consider secondary channel list
for ACS which needs to be used for SAP related operations and
because of that in sap get freq list driver is selecting some
frequencies which are not valid for SAP operation and from
frequencies driver selects ACS frequency and gives to upper
layer resulting in an invalid ACS frequency to user space.
Now when user space tries to start ap on this frequency, SAP
doesn't come up on this frequecy as this is invalid frequency
for SAP.
To address above issue consider secondary channel list for ACS
in sap get freq list so that only valid frequencies for SAP
are selected for ACS.
Change-Id: Ic7f1cb8134615a9195884d55bfb8111898ff74cb
CRs-Fixed: 2955162
When flow is added in CMEM path init time stamp is not
handled, so initialize flow init time stamp in CMEM path.
Add Fisa error print during reo id mismatch, print flow
and nbuf details which helps to debug the issue even if
local stack variables are not available in dump.
Change-Id: Ibcc44bd8558cc687279bb34267d60b9882d33a24
CRs-Fixed: 2946825
In the scenario where ipa connect pipes fails in the
wlan_ipa_uc_loaded_handler API, uc_loaded flag is not
reset. As a result of this, in wlan_ipa_uc_ol_deinit,
ipa_tx_buf_smmu_unmap and ipa_wdi_disconn_pipes APIs are
invoked incorrectly.
Fix is to set the uc_loaded flag to true only if connect
pipes and tx_smmu mappings are successful in
wlan_ipa_uc_loaded_handler. Also, initialize the uc_op_work
in wlan_ipa_uc_ol_init prior to the uc_loaded check to
avoid a possible race condition which could also result
in the similar issue as above.
Change-Id: I119170413cb9b5e03ec476c9a69d9effaa460c01
CRs-Fixed: 2940833
Currently, osif_request_alloc is done and waiting for response
after posting the message NDP_END_REQ. But this may lead to
invalid memory access if message gets processed in scheduler
thread and response also comes before the request is allocated.
Allocate the request before sending message to avoid this.
Change-Id: I88b0a8be229e779526f0f3cf184b191e00872ee8
CRs-Fixed: 2782045
Currently, cp stats are received through kworker thread context.
This causes race conditions/out of sync issues if any common data
structures are handled in parallel in scheduler thread context.
There is no need to receive the cp stats on kworker thread as per
current design. So, move the cp stats event handling to scheduler
thread to avoid any race conditions.
Change-Id: Id8134003e6f7a3e0368b20c496f650e0b7025b9e
CRs-Fixed: 2928876
In function __wlan_hdd_cfg80211_get_usable_channel use
dynamic memory allocation for get_usable_chan_res_params
structure to avoid increase of stack frame.
Change-Id: Ib3b5686a7af068fd1d0435bc24eda5d9e57bf1d7
CRs-Fixed: 2950726
Currently driver updates the WTC global parameters irrespective
of the WTC attributes present in the vendor command.
This causes the WTC parameters to be reset and WTC roam
trigger doesn't happen.
For example, with below sequence of commands:
wpa_cli DRIVER setwtcmode 0 1 -40 -95 -90 -85
wpa_cli DRIVER ADDROAMSCANFREQUENCIES_LEGACY 19 2412 2417 2422
The WTC parameters TLV is not included in the RSO
update command.
Update the WTC params only if the WTC attribute is present.
Change-Id: I53e5d934368169069dbf059335859936d320aa4e
CRs-Fixed: 2954458
Currently in WTC mode the candidate AP RSSI threshold
configuration is applied for candidates on all band.
Add support to configure the candidate AP RSSI threshold for
different bands.
Change-Id: I94442c0f1bd3ea20dc2f5ebe893a9ead7fb8d890
CRs-Fixed: 2951610
Check the configured IOT OUIs in Beacon/Probe Response
IEs, but not in Associate Response IEs, because some APs
won't add its specific OUI in Associate Response frame.
Change-Id: I3aedeef0a5dbecd4bed41eb47a9374e654509746
CRs-Fixed: 2955964
Set intermediate EP vote access before host
wake up indication smp2p is sent to F.W,
this helps to avoid smp2p override.
Change-Id: I4b998ee5ea6b26921855bfbae434869fb93accf9
CRs-Fixed: 2953883
When roaming to 160M AP by LFR3, host will update BSS info after
received roam sync event from firmware, but 160M isn't considered
when calculate channel width.
Actually vht_op->chanWidth alone cannot decide the actual BW, we need to
check difference of center_freq0 and center_freq1 to decide 160/80+80 or
80 if vht_op->chanWidth is 1.
Fix it by copying ft_session->ch_width to BSS info which covered 160M
channel width.
Change-Id: Ic4a992acfce186f7248dcc99d0c7b44ce38f099b
CRs-Fixed: 2954900
When thermal level higher than MITIGATION, TX will be
throttled completely.
Report DIAG event to notify user-space explicitly.
Change-Id: Ic2d8adfb6810ad03f3ec3b0847a176b694ace33a
CRs-Fixed: 2922102
Only do cleanup roc request and notify tdls sta disconnect
when sta disconnection operation is from osif or north bound.
Change-Id: I1d0aa4f1cd8a23baca890228485f22124eeabf78
CRs-Fixed: 2954772
The peer map v2 set in the target resource config
is sent to FW via WMI INIT CMD.
This configuration will enable index based AST
search in WDS mode.
CRs-Fixed: 2951231
Change-Id: If1c47c710832ddd46d99bffc66fc09e4fe76eab1
Roam offload init command should be sent to firmware only
for STA mode. For P2P vdev, if roam init command is sent,
it causes abnormal target behavior.
Don't send roam init command if the vdev opmode is not
Station.
Change-Id: I0bfc3c6b4bc2eef7459b092101bc4d72c68761e5
CRs-Fixed: 2924563
Enable CONFIG_FEATURE_GPIO_CFG by default, which is exposing vendor
cmd interface for GPIO configuration.
Change-Id: Ib05025b26c03573920d5241150fab925beed425e
CRs-Fixed: 2953325
Currently, the same twt disable api hdd_send_twt_disable_cmd()
sends to firmware for both requestor and responder role.
As part of this change, decouple disable api based on requestor
and responder role as per below:
for requestor: hdd_send_twt_requestor_disable_cmd()
for responder: hdd_send_twt_responder_disable_cmd()
Change-Id: Ib92b0fa46dde78dec0d5b7ca914d018c7c0970e5
CRs-Fixed: 2937591
1. Currently, the same twt enable api hdd_send_twt_enable_cmd()
sends to firmware for both requestor and responder role.
2. When firmware receives enable command, it will be busy to
handle that command. If any back to back enable command, it can
lead to some issues.
As part of this change, decouple enable api based on requestor
and responder role as per below:
for requestor: hdd_send_twt_requestor_enable_cmd()
for responder: hdd_send_twt_responder_enable_cmd()
Synchronize twt enable command to avoid back to back command
issue.
Change-Id: I3d3840740fee7413d6123ece919c42558e9b35d1
CRs-Fixed: 2937540
Add support to dynamically control rx aggregation based
on clsact ingress filter addition or deletion. Disable
GRO/FISA when the filter is configured and enable GRO/FISA
back when there is no filter configured.
Change-Id: I462f62edf0acd191b57f40800118567edb2ac82d
CRs-Fixed: 2952276
If 2.4G 40MHz is disabled by channel bond mode ini -
gChannelBondingMode24GHz, override 2.4G ACS result
to 20Mhz channel width. Otherwise hostapd will
start ap failed on 40Mhz channel because the HE cap
has no 40Mhz bw supported.
Change-Id: I943621bf847491983f0654f7ae495fc970114575
CRs-Fixed: 2951620
Currently there is no support to enable NAN on indoor channels,
as per the new requirement add an ini support to enable NAN on
indoor channels.
Change-Id: Ia3acbc133cab4865d8ad69992e893be91439f50f
CRs-Fixed: 2943668
1\ Since (rx_clear_count_delta - tx_frame_count_delta) * 100 maybe
overflow if rx_clear_count_delta and tx_frame_count_delta are uint32.
To resolve this issue, change uint32 to uint64.
2\ Since the previous data does not reset, then enable the congestion
feature again. It uses the old data and causes overflow.
Change-Id: I1c7d5f5be901e14424a70dd2931acb2175598199
CRs-Fixed: 2943725
Currently, reg_wifi_band enum is compared with
enum band_info. different values may lead to
invalid chan mode.
Fix is to compare reg_wifi_band with reg_wifi_band
enum value only.
Change-Id: Ibbe83ab5a8a428528bbeb28c941552a6f412a844
CRs-Fixed: 2949501