Check for the maximum allowed data that can be written into
the buffer utf_event_info.data in the function
wma_process_utf_event.
Change-Id: I9ee37470b7a3e7016941f871d3cf73eb12718758
CRs-Fixed: 2115375
Check for the upper bounds for number of NOA descriptors
received in the P2P NOA event.
Change-Id: Id7ecf064f2c25f378f76d795902713da8520507f
CRs-Fixed: 2113072
Clear up the tdls legacy functions which handle add/delete
tdls peer, tdls mgmt frame process and tdls_oper callback.
Change-Id: I8ba344ce5593df44bd15527e2ff68e872b6d23b8
CRs-Fixed: 2105075
wma_get_caps_for_phyidx_hwmode() does not check legacy chips like Rome,
which leads to wrong HT/VHT caps being populated.
Fix is to check legacy chips in wma_get_caps_for_phyidx_hwmode() and
populate HT/VHT caps accordingly including RX LDPC capability.
Change-Id: I496191636f0f21ef3399c24fbfb43a562ca2debc
CRs-Fixed: 2061889
Currently HDD sends a FW memory dump request to firmware without
checking support for this feature. This can lead to a crash as firmware
doesn't send the command response if feature is not supported.
Add a check in HDD so that the request is only sent when FW memory dump
capability is advertised by the firmware.
Change-Id: I73b980f50910e13aa5f2d2434f07b6f985dd5010
CRs-fixed: 1090806
When AP is in 11b-only mode then for a TDLS peer, in the peer_assoc
command to FW, pass phymode as per capability of the TDLS peer.
Change-Id: If1a84b35c2e755aad8b6b67536cbbcc49d378fda
CRs-Fixed: 2093277
Add support to send rate information for mgmt frames.
Currently default rates are used by target for the mgmt frames before
association. If the AP does not support the default rates (1 Mbps for
2.4G and 6Mbps for 5G), STA would still send AUTH, ASSOC frames with
the default rates. Add support to send the minimum rate supported by
the AP as part of the MGMT Tx WMI command.
Change-Id: I38d832818bbbd5fe3dec5660bd01dd08798bf0be
CRs-Fixed: 2085006
Current method for calculating LISTEN INTERVAL are static
configuration a.ka. ini based. Now OEM / USER want to take
control of setting LISTEN INTERVAL as per their applications
need. Once if USER configure the LISTEN INTERVAL value using
vendor command then host should avoid changing the LI value
during each suspend/resume. User LI value will be override
configuration. Once USER will Disable the LI using vendor
command then host can fallback to current default method.
Change-Id: Ia9b412b073c059df0cdff7bcda8198f7581e796d
CRs-Fixed: 2040298
Update driver for the latest reg domain info according to
Regdomain_23 and Regdomain_24 excel sheets.
Change-Id: I6b259be20de650886a16c32b69f8ed82b96dbcd8
CRs-Fixed: 2112485
iface->del_staself_req is used to check if del sta self was defered
and if it is set vdev detatch is called. iface->del_staself_req is
also set in case del sta self was not defered and thus del sta self
resp may get called twice, assuming it was differed and this result
in double free of del_sta_session_req.
To fix this added a bool to check if the del sta self was defered.
Change-Id: If4c2bc2a5bb6b8761f4130119a96602055d45b77
CRs-Fixed: 2116888
When kernel panic happen, if WiFi FW is still active,
it may cause NOC errors/memory corruption, to avoid
this, inject a fw crash first.
Propagated from qcacld-2.0
Change-Id: I97a696a02dfd73aaca212ef1bca9f3597df1e382
CRs-Fixed: 2052332
Set the limit off-channel command parameters and conc_system_pref
according to active tos indication from application.
CRs-Fixed: 2066088
Change-Id: I896999adb59aa468daf33364c708d95ef3062018
Driver is updating WMI_CHAN_FLAG_PASSIVE flag for DFS channels
while sending 'WMI_SCAN_CHAN_LIST_CMDID' command to firmware.
Driver should also update the WMI_CHAN_FLAG_DFS flag for
DFS channels. Otherwise functionality like skipping DFS channels
as part of scan request may not work.
CRs-Fixed: 2103636
Change-Id: Ia146eaad93deab778d5ce7a8647f5c0ba7068ead
Currently the mpdu_data_len in Rx pkt meta is not checked for
upper bound in wma_form_rx_packet.
Add sanity check to drop the packet if mpdu_data_len is
greater than 2000 bytes. Also add upper bound check for
frame_len in lim_process_auth_frame function.
Change-Id: I7ab454045e2f6d278351dcabde6da556f9f741e0
CRs-Fixed: 2093392
Before sending tdls peer state update command to FW make sure
that tdls peer exists.
Change-Id: I26b5daf9896b0f57fbcfedadcabd67ddd000b257
CRs-Fixed: 2032770
Add new WCNSS_qcom_cfg.ini item to configure offset from bad RSSI
threshold ini for 2G to 5G band roam. This offset is used to
calculate the RSSI to be used as trigger for device to roam from
2G to 5G band when it is connected to a bad RSSI 2G AP and a 5G AP
is available in the environment.
New ini added : roam_bad_rssi_thresh_offset_2g
Change-Id: If2285317d1d01bb2faae2cf1928ad7adae8204d4
CRs-Fixed: 2105894
In Rome platform, it use invalid radio id in FW event
WMI_RADIO_TX_POWER_LEVEL_STATS_EVENTID and cause crash. So check
radio id when handling this event.
Change-Id: Id720ca94ef496ea883f5ba1848fb4e28af57002f
CRs-Fixed: 2112322
Add data structures to save beacon tx rate.
The beacon data rate is multiples of 100 Kbps.
Firmware expects the data rate in the form of hw rate codes.
So convert the data rates to hw rate code.
And send it to firmware.
Change-Id: Ia39fd4c14defa729f75f2c45748fe5b04b909647
CRs-Fixed: 2099052
qcacld-2.0 to qcacld-3.0 propagation
Currently the crash can be injected by iwpriv command and FW
gets crashed.
Changes are done to add the gEnableCrashInject ini parameter
1) This ini param is disabled by default.
2) If this param is disabled the crash inject is ignored.
Change-Id: I7e908be1e37090a9d343dc04411fe387f776a937
CRs-Fixed: 864932
Introduce the below WCNSS_qcom_cfg.ini items to configure
for bad RSSI roaming. These parameters would be used when
the device is connected to an AP with weak signal and has
to roam to a better AP if it is stationary but has found
some other better AP in the vicinity
roam_bg_scan_bad_rssi_thresh:
If the DUT is connected to an AP with weak signal, then the bad RSSI
threshold will be used as an opportunity to use the scan results
from other scan clients and try to roam if there is a better AP
available in the environment.
roam_bg_scan_client_bitmap:
This bitmap is used to define the client scans that need to be used
by the roaming module to perform a background roaming.
Change-Id: I3b9f737ea389d35f8be173ce83b2237c2375fb88
CRs-Fixed: 2082904
Introduce the following items in WCNSS_qcom_cfg.ini for
user to modify them for MAWC based roaming.
mawc_roam_enabled
mawc_roam_traffic_threshold
mawc_roam_ap_rssi_threshold
mawc_roam_rssi_high_adjust
mawc_roam_rssi_low_adjust
Change-Id: Ief51e3e91603bfd7f6c6deed3ca48bc717b2b6fb
CRs-Fixed: 2081413
Currently cds_alloc_context() & cds_free_context() take a CDS context
parameter. However CDS already maintains its own context, hence this
parameter introduces an unnecessary coupling, so remove it.
Change-Id: I4501a0fea7acc7b4a764b0d425da386922b93bcb
CRs-Fixed: 2109265
Currently wma_open() takes a cds_ctx parameter. All of the other WMA
functions which previously took a cds_ctx no longer use that
parameter, and those functions have been modified to remove the unused
parameter. wma_open() still needs the cds_ctx, but it can get that
context by calling cds_get_global_context(), so remove the cds_ctx
parameter to be consistent with the other WMA functions.
Note: the fact that wma_open() needs the cds_ctx, and then
dereferences it, is a layering violation that needs to be addressed in
the future.
Change-Id: I176e2ac68cc2e8081645a4ce3c158b41d3018587
CRs-Fixed: 2109263
Currently wma_wmi_service_close() takes a cds_ctx parameter. All of
the other WMA functions which previously took a cds_ctx no longer use
that parameter, and those functions have been modified to remove the
unused parameter. wma_wmi_service_close() still needs the cds_ctx, but
it can get that context by calling cds_get_global_context(), so remove
the cds_ctx parameter to be consistent with the other WMA functions.
Note: the fact that wma_wmi_service_close() needs the cds_ctx, and
then dereferences it, is a layering violation that needs to be
addressed in the future.
Change-Id: I02564bae87077314fea58c1509b3a50b8d567a7a
CRs-Fixed: 2109262
Currently wma_wmi_work_close() takes a cds_ctx parameter. At one time
this was needed for the call to cds_get_context(), but that is no
longer the case, so remove this unused parameter.
Change-Id: Ibc64cd1398babc899c21a1ee4c0fc280769c4d9e
CRs-Fixed: 2109261
Currently wma_close() takes a cds_ctx parameter. At one time this was
needed for the call to cds_get_context(), but that is no longer the
case, so remove this unused parameter.
Change-Id: I31d1016cff580f9330027f8104348466df9f01dd
CRs-Fixed: 2109259
Currently wma_mc_process_msg() takes a cds_context parameter. At one
time this parameter was needed, but that is no longer the case, so
remove this now unused parameter.
Change-Id: Ia460afc5db932274cd960485af93fc48e899ff35
CRs-Fixed: 2109258
Currently cds_wma_complete_cback() takes a parameter that is a pointer
to the CDS context. However CDS already maintains its own context,
hence this param introduces an unnecessary coupling, so remove it.
Change-Id: I1b4588f18f807008fd212a8e5d04e3895a12922c
CRs-Fixed: 2109257
Currently wma_pre_start() takes a cds_ctx parameter. At one time this
was needed for the call to cds_get_context(), but that is no longer
the case, so remove this unused parameter.
Change-Id: Ic4582ecafbee6fc1d0f8ebbf3c62ed8c7b47a179
CRs-Fixed: 2109255
Currently wma_stop() takes a cds_ctx parameter. At one time this was
needed for the call to cds_get_context(), but that is no longer the
case, so remove this unused parameter.
Change-Id: Iba40ac86e5916be3b8c2a62cf5483c9b7a242be5
CRs-Fixed: 2109254
Currently wma_start() takes a cds_ctx parameter. At one time this was
needed for the call to cds_get_context(), but that is no longer the
case, so remove this unused parameter.
Change-Id: If6756ca37a7e4ec4ade1c72eea080f3bc89ad7e4
CRs-Fixed: 2109253
Currently wma_setneedshutdown() takes a cds_ctx parameter. At one time
this was needed for the call to cds_get_context(), but that is no
longer the case, so remove this unused parameter.
Change-Id: I65f2af2e97b09523f5cf00369b5cf95ad01194d9
CRs-Fixed: 2109252
Currently wma_needshutdown() takes a cds_ctx parameter. At one time
this was needed for the call to cds_get_context(), but that is no
longer the case, so remove this unused parameter.
Change-Id: I31fd07480719bf3401ed52b57951e19ccb4d143c
CRs-Fixed: 2109251
qcacld-2.0 to qcacld-3.0 propagation
Before this change the ACS calc process only consider the
channel's rssi and bss count in this channel, in this change
add noise floor, channel free statistics and tx power in the
ACS calc process.
Change-Id: I654e53fa2441e03723f150d973c124985c67f2b4
CRs-fixed: 1050316
wma_delete_bss is stuck for more than
400ms in failure scenario due to pending
tx packets to drain.
-Decrease the wait time to 20ms(2ms*max_wait_iterations)
to avoid the delete bss stuck issue.
-Tx drain wait feature added for LFR2.0
feature so moved the code under the LFR2.0
macro.
Change-Id: I33b56bb627ac914ca6fe96949de373b015853fc9
CRs-Fixed: 2097269
Currently wma_register_roaming_callbacks() has a cds_ctx parameter. At
one time this was necessary since the global context was required to
get the module-specific context. However the global context is no
longer required for this purpose, so remove the unused parameter.
Change-Id: Ida681fb20dd98a46f385f1e04662f72a334c68bf
CRs-Fixed: 2103626
Log the IP header source and destination address for the first Rx
packet received after host wakeup.
Change-Id: Ie8cf71c8ce913378687ad2c79ab9d5f46c0c2419
CRs-Fixed: 2010971
Currently wma_get_wcnss_software_version() takes a p_cds_gctx
parameter which it does not use, so remove it.
Change-Id: I86a5893a9407bad034a32c105aec92d4e6054744
CRs-Fixed: 2102549
chain_stats in WMI_UPDATE_STATS_EVENTID_param_tlvs may be set as
NULL by wlan firmware.
When access chain_stats, make sure it is not NULL.
Change-Id: I3a78534899a3a56f378c4825ff5b8abedb543b8c
CRs-Fixed: 2102247
The WMA vdev structure contains wakelocks which must be deinitialized
and initialized any time these structures are mem-zeroed. Add
deinit/init calls to vdev attach error cases.
Change-Id: I36012606d4cc49c076ac6903ff49530c45433374
CRs-Fixed: 2102645
qcacld-2.0 to qcacld-3.0 propagation
FW has limitation to support old WMI_REQUEST_STATS_CMDID and
WMI_UPDATE_STATS_EVENTID interface on AP vDev. FW suggest to use new
WMI_REQUEST_PEER_STATS_INFO_CMDID and WMI_PEER_STATS_INFO_EVENTID to
get tx/rx rate.
This checkin is about HDD layer, provide APIs/callbacks to upper layer
to query rssi/tx/rx statistics of peer station associated with SAP,
and provide a default disabled ini setting and checking FW's
WMI_SERVICE_PEER_STATS_INFO capability to control this get peer info
interface. Add/change iwpriv/QCA_NL80211_VENDOR_SUBCMD_GET_STATION/
cfg80211_ops.get_station interfaces to upper layer.
Change-Id: Ib1571219faa16e3bc8c3eb1260137ae08b8b6016
CRs-Fixed: 2059507
if a SEL_STA is being created then check if the session
on which it is being created is already active and deny
the request
Change-Id: I2ae4aa6034afdefb9ee61c28e4be2b0de6891a44
CRs-Fixed: 2084306
If a OCE AP is found in previous scan cache in fw, fw need to defer
sending probe for sometime to check for broadcast probe response
from OCE AP.
Send the probe deferral time and the time gaps between the two probes
from host for STA vdev.
Change-Id: I973fc1e2ea43950bd4e2168083644a240a298c22
CRs-Fixed: 2068490
Currently, cds_trigger_recovery is unconditional. Instead, avoid
triggering recovery if recovery is already in progress.
Change-Id: I5c77048701930591e0e520e07275e6f8631108a0
CRs-Fixed: 2070845