hdd_vdev_create currently uses the unconditional vdev ref grabbing API,
wlan_objmgr_vdev_get_ref. While this may be the single valid use case
for the API outside of objmgr core, it is better to avoid using the
uncondional API outside of objmgr core at all. This sets a good example
for future consumers of the vdev ref APIs, and makes it easier to spot
incorrect usages of the unconditional API. In hdd_vdev_create, use
wlan_objmgr_vdev_try_get_ref and abort the vdev create operation if a
reference cannot be obtained.
Change-Id: Iafdcec9752b7189f8c74b8838b2d9261676184f9
CRs-Fixed: 2150258
In function wma_extscan_cached_results_event_handler,
event->num_entries_in_page is received from the FW and is used in the
function wma_extscan_find_unique_scan_ids to calculate scan_ids_cnt
from src_rssi buffer. If the value of num_entries_in_page is greater
than the number of src_rssi buffers present, a buffer overread would
occur in the function wma_extscan_find_unique_scan_ids.
There is already a check in place to valudate num_entries_in_page in
the function wma_extscan_cached_results_event_handler however it is done
after the call of wma_extscan_find_unique_scan_ids.
Move the checks on num_entries_in_page before using it in the function
wma_extscan_cached_results_event_handler
Change-Id: Ib5e803589deb6ca074cb70326b9ce846d0754a73
CRs-Fixed: 2149720
In multiple WMA event handler functions, ssid_len is used to copy
ssid from FW buffer to local buffer and ssid_len value is received
from the FW. If the ssid_len value exceeds SIR_MAC_MAX_SSID_LENGTH
then a buffer overwrite would occur.
Add sanity check for ssid_len against SIR_MAC_MAX_SSID_LENGTH in
multiple WMA handler functions
Change-Id: I9e4b1f88c275093b4912496cdb936cf54a8880a2
CRs-Fixed: 2149531
In function wma_unified_radio_tx_power_level_stats_event_handler,
power_level_offset is received from the FW and is used to memcpy data
from FW to local tx_time_per_power_level for num_tx_power_levels length.
However tx_time_per_power_level is allocated only for
total_num_tx_power_levels length.
If the power_level_offset is greater than total_num_tx_power_levels, then
a buffer overwrite would occur.
Add sanity check to make sure power_level_offset does not exceed
total_num_tx_power_levels
Change-Id: Ia363512ee35bb0e30b137c20bf092238c2e356da
CRs-Fixed: 2149501
Enable FEATURE_WLAN_DOWOW for pcie.
This is for backward compatible with rome fw.
Change-Id: Ia2107ff6939666b4a0bd19d57149d17814f2dfb5
CRs-Fixed: 2070426
check if the modules are enabled before setting the
start_modules_in_progress flag. In some scenario one
thread could be checking if the modules is enabled
by setting start_modules_inprogress flag, in the
other thread context some process reading this flag
can take a wrong decision resulting in
not expected output even though modules are properly enabled.
Hence, set the start_modules_inprogress only if
modules are not enabled.
CRs-Fixed: 2142855
Change-Id: I24345375bb1ad21d055ff934a72b3df4d815ea16
Reset the sap configuration ie while stopping the adapter in
the sap mode to avoid memory leak.
Change-Id: I5b47afe561430fcb3f508820bc74c28b56d28b3c
CRs-Fixed: 2123524
Remove unused dfs code from qcacld-3.2 project as dfs
code moved to cmn project.
Change-Id: I21a8e5a39df9241544ef53baf42d3aa0ba434636
CRs-Fixed: 2133649
Propagation from qcacld-2.0 to qcacld-3.0.
Change local variables to dynamic in lim_process_auth_frame as stack frame
over 1024 bytes may cause build failure in 32 bit platforms.
Change-Id: I83cf5ab24693e0ce012894d808ac79bf37fa9a08
CRs-Fixed: 2147286
Although the kek_len should have already been validated before the
function is called, update wlan_hdd_save_gtk_offload_params() to limit
kek_len to the maximum allowed value before using it to copy the kek.
Change-Id: I0676521171343c6fe58afcdc31477f555598c490
CRs-Fixed: 2140033
While stop interface by "ifconfig wlan0 down" in connection
status, in wlan_hdd_try_disconnect, the disconnect indication
doesn't send to kernel, wdev->current_bss in kernel will not
be null; In nl80211_trigger_scan, it will check wdev->current_bss,
it will return if it is not NULL, which causes scan fail, and
this is a very low ratio issue.
Add disconnect indication to kernel.
Change-Id: I5f652b49c87ff2fb5c7f34dd3a826307fb3bb7e1
CRs-Fixed: 2128100