Some functions have been calling get_monotonic_bootime() directly, which
is now obsolete, having been replaced with ktime_get_boottime(). Change
calls to get_monotonic_boottime() with qdf_get_monotonic_boottime(),
which has now been updated to call ktime_get_boottime().
Change-Id: I9ce4bf2104077b6aacf841416997acb6f64b2841
CRs-Fixed: 2564544
Currently the 3 port concurrency combinations
which are not PORed should not be allowed to
connect or beacon as it could lead to functional
issues.
Fix is to bloack the 3 port concurrency which are
not PORed.
Change-Id: I792d0484da96fc0ae994fafa2c6b3ac787016815
CRs-Fixed: 2567322
Currently in SAP+SAP scenario the second ACS request
is moved to pending and is completed when the first
ACS is completed, but since FW serializes the scan
so the reuest for second ACS if not kept in pending
and sent down to FW would automatically be serialized
which would reduce latency in second SAP bringup.
Remove the pending work logic and implementation
to improve latency in second ACS scan.
Change-Id: I439398b406e9371a8e443f5409bd3f25b3062501
CRs-Fixed: 2570259
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