In case if two measurement requests calls update_rrm_report() twice,
possible out-of-bounds write for the allocated report array, report[]
in rrm_process_radio_measurement_request
Change-Id: Icc8b7aa14bbcc1219d28025e599c9976a3525bba
CRs-Fixed: 2564485
Enable ENABLE_QDF_PTR_HASH_DEBUG macro for Def build only to debug
qdf_ptr_hash related issue.
Change-Id: Ifa35afa716333d3bf777558e15d7b0295abce72c
CRs-Fixed: 2566025
populate pcl_freq_list instead of pcl_channel_list in
scan_filter.
populate chan_freq_list instead of channel_list in scan_filter.
Change-Id: I3ab0865f3533332ff4e7ad4511b857d3712a1404
CRs-Fixed: 2561869
For wlan_ipa_setup_iface, if found the net_dev is already there, but the
device_mode is different, will remove this obsolete record and update it
with new interface context for current IPA WLAN event.
Change-Id: Ib9ecd7f7b3b9603c37dc1d69cd0f3a2868c978ec
CRs-Fixed: 2567222
Presently in the driver, the NSS used for reporting stats to the upper
layer is fetched from the VDEV generic NSS. This NSS is not updated
dynamically with the set NSS command. As a result, in the case the
command is given, the NSS reported to the userspace is not proper.
To mitigate this, instead of fetching the generic NSS, fetch the dynamic
NSS from the mlme.
Change-Id: I9fdbc0625ebe8343a7bf750829db028f4ddd86d0
CRs-Fixed: 2551187
gActionOUIConnect1x1 is used to specify action OUIs for 1x1
connection.
Some Access Points are unable to handle SMPS and OMN frames and shows
abnormal behaviour when STA is switching between 2x2 to 1x1 and
vice-versa. To avoid this, restrict connection in 1x1 mode with such APs.
Here the scenario is DUT STA1 connects in 2x2 mode to AP1 in 5G mode then
later on DUT another STA2 iface connects to AP2 in 2G mode. DUT sends OMN
frame to AP1 to inform that it is going to switch to 1x1 mode. AP1 ack
this frame but doesn't change its Tx rates and continues to use 2x2 rates
which DUT cannot ACK. This causes low throughput issue where AP1 Tx rate
falls to 6Mbps due to missing acks.
Hence, 5G band capability bit in "gActionOUIConnect1x1" is set to make
connections in 1x1 with such AP.
Presently, 5G band capability bit is not checked if 2G band capability bit
is not set or 2G band is not enabled. Hence, Vendor AP capability check for
2G and 5G Band is refactored.
Change-Id: Ic6b682451405a2373000e4c64656f50c2fab0ee6
CRs-Fixed: 2558293
1. Zero local variable "he_ops" before intersect with user IE.
2. If csr_check_and_validate_6g_ap fails, use "break" to
free memory in end of function csr_send_join_req_msg.
3. Remove co_located_bss checking for 6GHz AP. co_located_bss
can be valid for 6GHz AP.
Change-Id: I4b521eead6e09db860b5e21c21882f14a1be8576
CRs-Fixed: 2563923
hdd_abort_system_suspend() function currently uses pm_wakeup_hard_event(),
which does not work because device is not initialized. Switch to using
pm_system_wakeup() instead by calling qdf_pm_system_wakeup() wrapper.
Change-Id: Ib89eca5014729f6a2103e14c6f46540d1406a5a0
CRs-Fixed: 2566770
Correct the 6G operation info field values in HE operation IE.
And replace the legacy api with new 6G support api to calculate
channel center frequencies.
Change-Id: Icafdd72b386137a6a0c8d0de233d4fbdbd121610
CRs-Fixed: 2557233
Scenario:-
Two ACS request come in parallel, for two SAP startup
The driver started with one ACS, and scheduled the
other after the first one is complete,driver sets
a bit in flag of adapter that is
test_bit(ACS_PENDING, &adapter->event_flags)
and then schedule work when the ACS channel is
selected in the API wlan_hdd_cfg80211_acs_ch_select_evt.
After this driver got delete interface for the second
interface and as part of it in hdd stop adapter
driver checks that if the flag of pending ACS is set,
flush the pending ACS work, and reset the flag.
But the work is yet to be initialized, which would be done
as part of wlan_hdd_cfg80211_acs_ch_select_evt
and it is not yet completed as the first ACS is busy with the
ACS scan, and the scan callback and channel selection logic
is still yet to be done.
Fix is to initialize the work when the driver detects that
first ACS is in progress, and it needs to wait for the
first one to complete.
Change-Id: If706528f1afd6075144bff40611e82742df76368
CRs-Fixed: 2559703
Invocation of wrong api hdd_is_valid_mac_address() makes hdd_save_peer()
always return false due to which hdd_roam_register_sta() is skipped in
hdd_ndp_new_peer_handler() and can cause ping failure.
To fix this, use api qdf_is_macaddr_zero() instead of
hdd_is_valid_mac_address() in hdd_save_peer() to get the unused
entry in NDP peer mac table.
Change-Id: Id9aa6bcebb7fd168ee281065ebffe7227f9bc10f
CRs-Fixed: 2554502
Presently vdev delete is sent via serialization, which
needs a vdev reference. With the new FR to send the
vdev delete on the physical destroy in object manager
vdev delete cannot be sent via serialization.
Hence, disable the serialization for the vdev and
donot send the vdev delete via serialization.
Change-Id: I3afa34880ddaab68850ed235ec1451370d82e7dd
CRs-Fixed: 2566120
Remove legacy usage of channels in WMA layer and
use frequencies instead to incorporate 6ghz
frequencies as well.
Change-Id: Iba4a9ea723d5c03a4deeaffc5fbdf628f435eb67
CRs-Fixed: 2563924
The driver does not check the device DBS capability
and the DBS ini compatibility( ch select policy)
If the DBS ini channel_select_logic_conc is disabled
and HW mandates DBS capability then overide the ini
to always keep it enable.
Change-Id: I629fd8661f70b64808a55c4c9bdafa9608787b09
CRs-Fixed: 2551648
The driver does not check the device DBS capability
and the DBS ini compatibility.
If the DBS ini gDualMacFeatureDisable is disabled
and HW mandates DBS capability then overide the ini
to always keep it enable.
Change-Id: I2b31453f9c8a04cef7f943b30d3c28f844c276b5
CRs-Fixed: 2551644
As a part of 6GHz support, add support to parse channel frequency
attribute: QCA_WLAN_VENDOR_ATTR_SAP_CONFIG_FREQUENCY (in MHz)
in QCA_NL80211_VENDOR_SUBCMD_SET_SAP_CONFIG command data.
Change-Id: I8e9956ef0db1a511f4252d6fb1f03201df54c3c1
CRs-Fixed: 2534010
As a part of 6GHz support, add support to parse channel frequency
attribute: QCA_WLAN_VENDOR_ATTR_ACS_FREQUENCY_HINT (in MHz)
in QCA_NL80211_VENDOR_SUBCMD_ACS_POLICY command data.
Change-Id: Ic7bee5fe1123b82607e375c71a21b9744d67ea17
CRs-Fixed: 2533998
As a part of 6GHz support, add support to parse and send channel
frequency (in MHz) in QCA_NL80211_VENDOR_SUBCMD_EXTERNAL_ACS
command/event data.
Change-Id: I87879b4f8dd6a5c4ded2e89c527ba91432c9c48a
CRs-Fixed: 2533732
Add frequency to tSirChannelInfo, not replace because channelNum has
specail meaning.
Replace channelNumber of struct report_channel_list.
Use channel frequency in functions which process measurement request
Change-Id: I615b1f61c2810474dac6daf1eeb1ce19c2b1da33
CRs-Fixed: 2559283
Modify the following API's code and parameters to make
sure it is using frequency instead of channel:
csr_roam_select_bss
Change-Id: I9c68e173af01d7cb29672179a7bbffb354134f87
CRs-Fixed: 2564011
Open/close session callbacks are common for all the device modes
supported, so register once during the start_modules.
Change-Id: Ia94857ce4cc608be30e9974ddde8a6261d45f6e3
CRs-Fixed: 2555919
Modify the following API's code and parameter to make
sure it is using frequency instead of channel:
wlan_hdd_validate_and_get_pre_cac_ch
Change-Id: I55ccc3fefb829bcc95e434bdc56fe630fa837bd0
CRs-Fixed: 2561857
Modify the following API's code and parameters to make
sure it is using frequency instead of channel:
csr_roam_call_callback
Change-Id: I7dffcae95d8db53dd1d2a05745861681c4b35e13
CRs-Fixed: 2564024
In case of lowi, Supported bands are populated from
psoc->soc_nif.user_config.band_capability which is same as
that of ini file and not the intersected band support. In
function wifi_pos_populate_caps caps->supported_bands is
populated from psoc->soc_nif.user_config.band_capability
which may not be supported by firmware.
Fix is to update psoc->soc_nif.user_config.band_capability
with the intersected immediately after fetching intersected
band support to avoid incompatibilty.
Change-Id: I4771e3aff227d29916dafd70726daa9f0c87fef8
CRs-Fixed: 2538590
Currently there is no check for the monitor mode
interface in sched scan start/stop commands.
Add a check for monitor mode in sched scan start/stop
commands and do not allow sched scan stop in case of
monitor mode.
Change-Id: I316c3156c25a9b6e9c3d35aaca174a4f1f03f8f9
CRs-fixed: 2530755