Self-peer holds a reference to the vdev object. As part
of new changes to send vdev delete to firmware as part
of vdev delete notification, the self peer reference needs
to be released 1st before sending the vdev delete to firmware.
Hence detach the peer deletion from the vdev deletion.
Change-Id: I8169fdd6cc6acadea9a89baf38bd273797e8bc9b
CRs-Fixed: 2565315
The function hdd_is_connection_in_progress() currently uses
hdd_for_each_adapter(), which is not working properly, resulting in it
checking for the NDI adapter only in an infinite loop. To solve this,
switch to using the newly created hdd_adapter_iterate() and its callback
function.
Change-Id: Ib6176ee268a3bf63ba9d29387d485cea6fc6c4fd
CRs-Fixed: 2561558
Currently the offloading of the NS and ARP to firmware is inefficient;
redundant caching is performed even if offload is not sent. This causes
wastage of resources and increases code complexity.
Introduce checks before caching and offload to ensure that the mentioned
inefficiencies are taken care of.
Change-Id: I6013810e1e08adb15c801f4fc21e1b50371bacda
CRs-Fixed: 2569763
In Monitor Mode, RSSI is always -96 for packets in TCPDUMP.
Populate the correct RSSI value in Monitor Mode.
Change-Id: Iba9fe7091043d27828f4742058ed3d389cde7e26
CRs-Fixed: 2568129
csr_set_ldpc_exception is already used channel frequency as input
parameter.
Call csr_set_ldpc_exception with channel frequency.
Change-Id: I0a30b558e570ed0e14f925d23241bdaf1b6f8a44
CRs-Fixed: 2568321
Use "CDS_BAND_2GHZ" to get 2G vht phy capabilities.
Also use "total_mac_phy_cnt" to enumerate mac_phy_cap
list to get correct 2G phy caps.
Change-Id: Ibced9b07370932b65a35f43aa579b3c28ea6e23b
CRs-Fixed: 2568539
Roaming to new AP is depends on the periodic scan which occurs every
10sec in fw. Due to the default value of sticky time (btm_sticky_time)
to BTM AP is 5 min, periodic roaming scan gets disabled in fw till
sticky timer expiry. So FW won’t trigger a periodic scan for 5 min,
in case of roaming to new AP by BTM.
In case if STA roams to new AP by BTM and Disassociation Timer
expires before Stick time, DUT is not able to roam to a candidate
AP till Stick time expiry.
In order to allow roaming just after disassociation timer expiry,
Make Stick time value to zero by default.
Change-Id: I0de09ec7134d543a9c934a03941bcdb57b983dc9
CRs-Fixed: 2566842
Currently the driver uses STR_EDCA_ANI_ACBK_LOCAL as the length
for all the EDCA_LOCAL string cfg items.
Use the corresponding string length for EDCA_LOCAL string.
Change-Id: Ia6fd19b90c3d6c2c6e7a12e9f44389db2bf160f8
CRs-Fixed: 2569514
The max values of the ini's CFG_SET_TSF_GPIO_PIN and
CFG_SET_TSF_IRQ_HOST_GPIO_PIN are set wrong. The default value for those
is higher than the max value.
Increase the max value to accommodate the correct range.
Change-Id: I7d5528801c3b0fc2480e00b28ab4eb8f0385930a
CRs-Fixed: 2570044
Currently, userspace is expecting SNR value through
NL80211_STA_INFO_SIGNAL for a disconnected client of SAP. But
the driver sends RSSI value by doing noise floor to the SNR value
received from firmware. Convert this back to SNR and provide to
userspace as per the definition of NL80211_STA_INFO_SIGNAL
and to be in sync with the existing implementation of userspace.
Change-Id: Ia360424a9d44e48fae5a85cf0d2c577e92cd93be
CRs-Fixed: 2552542
hdd_txrx_hist doesn't init when insmod in con_mode 5,
after change back to mission mode, it will cause null
memory access in hdd_bus_bw_work_handler.
test step:
1 insmod wlan.ko con_mode=5
2 echo "0" > con_mode
3 connect with AP
4 issue happens
Move wlan_hdd_init_tx_rx_histogram to start module.
Change-Id: I01b94b9461a87c29cc03b7e3c841bbda6e565188
CRs-Fixed: 2567165
Send vdev create to firmware when the mlme vdev create handler
is invoked as part of the vdev object create.
Change-Id: Ibba02f6b5885d7b3a62529ef51768f520395513e
CRs-Fixed: 2555943
De-register the broadcast/connected sta if the stop_bss fails, so that
all the resources for the sta is properly freed.
Change-Id: Ib2462a98ca1ad561e39c3f69fa3f982b68d0fe63
CRs-Fixed: 2568668
Currently cdp ops 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_id or 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.
- ipa_get_resource
- ipa_set_doorbell_paddr
- ipa_set_active
- ipa_register_op_cb
- ipa_get_stat
- ipa_tx_data_frame
- ipa_uc_get_share_stats
- ipa_uc_set_quota
- ipa_enable_autonomy
- ipa_disable_autonomy
- ipa_setup
- ipa_enable_pipes
- ipa_disable_pipes
- ipa_rx_intrabss_fwd
Change-Id: I678d7a7de7132417ff6051b0fd6da5d14426d21e
CRs-Fixed: 2540861
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 bus_ops
- bus_suspend
- bus_resume
CRs-Fixed: 2539749
Change-Id: I7f57c09fe4620f90c5cfab781635f6f0ada08ec5
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