Currently the cdp apis are given pdev/vdev/peer
handle as its arguments, which is directly
accessed in those APIs. This can cause a
race-condition in access of the respective
handles if it has been deleted in parallel.
Hence as a part of cdp convergence, pass only
the pdev/vdev id or peer mac address, which will be
used to get the respective handles, and hence
avoiding the unwanted access of the handles if
it has been deleted.
Converged misc_ops
- tx_non_std
- get_opmode
- get_tx_ack_stats
- set_ibss_vdev_heart_beat_timer
- hl_tdls_flag_reset
- set_wisa_mode
- txrx_post_data_stall_event
- update_mac_id
- pkt_log_init
- pkt_log_con_service
- get_num_rx_contexts
- set_wmm_param
- flush_rx_frames
- bad_peer_txctl_set_setting
- bad_peer_txctl_update_threshold
- txrx_data_stall_cb_register
- txrx_data_stall_cb_deregister
- vdev_set_driver_del_ack_enable
- get_intra_bss_fwd_pkts_count
- mark_first_wakeup_packet
- register_pktdump_cb
- unregister_pktdump_cb
- pdev_reset_driver_del_ack
- runtime_suspend
- runtime_resume
CRs-Fixed: 2539735
Change-Id: I2baad09fde29d439ae2099e01e4e68ed6b94196d
Currently regulatory comnfigs are getting updated from wiphy
init inside regulatory init api which is too late in the driver
init sequence. There are some apis in driver init sequence which
uses these ini configs before wiphy init, one such example
is scm_11d_cc_db_init. since the ini configs are not populated
this may lead to undefined behaviour.
To resolve above issue, populate ini configs at the same place
where all other components inis are getting populated.
Change-Id: I9cb2f069fba3eb76a2c8f7285b6d371cf5fa8de4
CRs-Fixed: 2570148
Modify the following API's code and parameters to make
sure it is using frequency instead of channel:
csr_update_scan_entry_associnfo
Change-Id: Iff4e74fedc7816950ad7a71dbd3d8c08bb59f717
CRs-Fixed: 2563847
Check for any duplicate peer with the same mac address before
the vdev is created.
Change-Id: Ie6d71b7b2892ab2ac6e8bfb37c99f20f0854c2f2
CRs-Fixed: 2555932
1) Change the following functions' signatures and/or code
to make them using frequencies instead of channel IDs:
hdd_get_adapter_home_channel
hdd_get_operating_channel
wlan_hdd_request_pre_cac
wlan_hdd_validate_and_get_pre_cac_ch
__wlan_hdd_request_pre_cac
hdd_check_and_disconnect_sta_on_invalid_channel
set_first_connection_operating_channel
sme_is_channel_valid
csr_roam_is_channel_valid
2) Remove the declaration, definition and usage of
csr_roam_is_chan_freq_valid, and replace it with
csr_roam_is_channel_valid as this API does exactly
the same thing.
3) Retain the code/logic for chan ID utilization in
function set_first_connection_operating_channel as
it is used to convert the parameters issued by
user space apps.
4) Fix a few camel cases in csr_api_roam.c
Change-Id: I4f9cfa21a5f40288ad9492ac8be7939ed8eb6484
CRs-Fixed: 2565002
Currently in stop adapter the driver checks the ACS bit
in progress and then waits for it to get complete
Now if in scheduler thread the sap scan cb comes then
it will check to get op protect which would not be
granted as it is a pdev operation, and already a vdev
transition is in progress, hence the bit for acs in progress
would not get cleared.
Fix is to remove the check of op protect as it is no longer
needed since the stop adapter takes care of acs in progress.
Change-Id: Ifebaed87e3a798126031d9971dc801d60fd34ea6
CRs-Fixed: 2567157
policy_mgr_is_hw_dbs_required_for_band is for any HW where
PHYA/MAC0 doesn't support the given band. We need to switch
to DBS mode to support the band. So far we have
overloaded policy_mgr_is_hw_dbs_2x2_capable to achieve above.
Need a cleaner API to work in a generic way
(for 2x2, 1x1 or any chain mask configuration).
Change-Id: I1cb28bece1242fc749a0a6a56fadca0502850c43
CRs-Fixed: 2565939
Fix indentation issue in sap channel select to
avoid compile failures in auto branch compilers
Change-Id: Ifa92dfaaa349833d5651b7cdb66d87f039f0df36
CRs-Fixed: 2568414
In pe_roam_synch_callback, fils_info is accessed from pe_session
and fils_info is defined only if WLAN_FEATURE_FILS_SK flag is
enabled.
Define new function to fill the fils_ft data, when the compile
flag WLAN_FEATURE_FILS_SK is defined.
Change-Id: If4f20950c489814366553e6fce65779b4f3551a4
CRs-Fixed: 2568349
In the function __wlan_hdd_read_ll_stats_debugfs, the debug prints are
of level "info". This takes up space in the log buffers that affects the
functionality of features use by customers.
Change the logging from "info" to "debug" so as to print the same in the
driver logs instead of kernel logs.
Change-Id: I3c38f704175d1d74496fa0ccf4e27ef48d5100f6
CRs-Fixed: 2562762
Currently, when roaming to different SSID, the host driver
validates the SSID of the current connected AP and the roamed
SSID. If the validation fails, the driver disassociates with
the current AP, which results in data path carrier queues being
disabled. And as part of the roam indication to the user space,
the driver doesn't enable carrier queues.
Check if the SSID from the roam synch indication is present in
the allowed SSID list, if the SSID is present don't
disassociate with current AP.
Change-Id: Iafe3497d5d00753edbd5d5176ff3acd1a6d949bd
CRs-Fixed: 2567233
Currently, there is a problem in hdd_for_each_adapter(), as it is
checking for the NDI adapter only in an infinite loop. Create
hdd_adapter_iterate() in order to iterate through all adapters properly.
Change-Id: Ib0e22d0f46d6311d44de3ee48b3202376a42f209
CRs-Fixed: 2568906
For legacy platforms, due to channel number ambiguity between 6ghz
and 5/2.4 channels, operating class should be checked while
processing management frames. Therefore check the operating class in
the relevant IEs.
Change-Id: I85b9d3da0430e6448480d47dc95b2fdfa8b6e288
CRs-Fixed: 2556219
Currently pld_lock/unlock_reg_window APIs don't support
WHUNT simulation bus types and treated as error.
Add support for WHUNT simulation buses in lock/unlock
register window APIs.
Change-Id: I1e82d822becaadc9592b693e6ab20331ecb9cbc2
In ACS, driver uses frame parser to get the HT/VHT/HE IE to fill
bandwidth, center freq etc. These info are already available in
scan entry so use them.
Change-Id: I5148f8aa20174b4fa0fc64acd7b74825e10ede03
CRs-Fixed: 2568513
It doesn't cleanup tx context immediately, which cause mgmt will be
tx again unexpectly. Then P2P state mismached and form connection
failed.
Change-Id: I9eba9df057221e5dabf5ff42fe0d2fd695aea9df
CRs-Fixed: 2564622
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