In hdd_wmm_classify_pkt_cb, local variable user_pri and is_critical
should be initialized in hdd_wmm_classify_pkt_cb. we can't expect
hdd_wmm_classify_critical_pkt to do it.
Invalid user_pri is set to skb->priority because user_pri and
is_critical is not initialized.
Change-Id: I6d57251bcb8c7bc3d0f031f2d9b127e3e16d1b47
CRs-Fixed: 3408478
Current code allows for viewing Runtime PM stats via debugfs only.
Fix this by adding sysfs viewing functionality.
Change-Id: I2b439f0bb608292dc1390a5529f9dc287b7262bc
CRs-Fixed: 3414306
DP TXRX module is not cleaned when DP Rx thread init failed
To fix this, when DP Rx thread init fails, free DP TXRX module
as part of failure sequence.
Change-Id: I311b84a76036c8dd1e60b9f8c653fc126e031543
CRs-Fixed: 3413933
Limit num_channels to be less than NUM_CHANNELS to fix potential
out of memory access when calling add_sbs_chlist_to_pcl in the
policy_mgr_get_channel_list.
Change-Id: I58fdbc67b7692c7d1dff5aca6cbd6dc67115a65c
CRs-Fixed: 3416540
Define the CONFIG_FEATURE_DELAYED_PEER_OBJ_DESTROY to enable peer obj
freed in a delayed work item to avoid any potential scheduling in the
atomic context.
It might invoke wakeup_source_unregister in the peer obj destroy handler
which happens in the atomic context to cause scheduling timeout issue.
Here is the call trace without enabling this flag:
Call trace:
dump_backtrace.cfi_jt+0x0/0x8
dump_stack_lvl+0x80/0xb8
__schedule_bug+0x80/0x134
__schedule+0x75c/0xacc
schedule+0x110/0x204
schedule_timeout+0x48/0x138
wait_for_common+0x14c/0x314
__synchronize_srcu+0x13c/0x1e4
synchronize_srcu+0x2d4/0x414
wakeup_source_unregister+0xd8/0x1c4
mlme_peer_object_destroyed_notification+0x3c/0x1ac [kiwi_v2]
wlan_objmgr_peer_release_ref+0x218/0x300 [kiwi_v2]
dp_softap_inspect_tx_eap_pkt+0x24c/0x29c [kiwi_v2]
dp_softap_notify_tx_compl_cbk+0xa4/0xa8 [kiwi_v2]
dp_tx_comp_process_tx_status+0x28c/0xa90 [kiwi_v2]
dp_tx_process_htt_completion_be+0x2f4/0x4f4 [kiwi_v2]
dp_tx_comp_handler+0x5dc/0xaa8 [kiwi_v2]
dp_service_srngs+0x114/0x4fc [kiwi_v2]
hif_exec_poll+0xd8/0x3c0 [kiwi_v2]
__napi_poll+0x64/0x268
net_rx_action+0x11c/0x3a0
_stext+0x16c/0x5e4
__irq_exit_rcu+0x74/0x140
handle_domain_irq+0xd4/0x154
gic_handle_irq.33723+0x54/0x2bc
call_on_irq_stack+0x40/0x70
do_interrupt_handler+0x44/0xa0
el1_interrupt+0x34/0x64
el1h_64_irq_handler+0x1c/0x2c
el1h_64_irq+0x7c/0x80
cpuidle_enter_state+0x3b4/0x87c
do_idle+0x300/0x5a0
cpu_startup_entry+0x84/0x90
kernel_init+0x0/0x36c
start_kernel+0x0/0x61c
start_kernel+0x500/0x61c
__primary_switched+0xc4/0x7a7c
bad: scheduling from the idle thread!
Change-Id: Icee1ef30380418596711ef54a95f3286287e1cdd
CRs-Fixed: 3412052
If roaming is triggered by source CM_ROAMING_NUD_FAILURE,
then per the INI gEnableNUDTracking to check whether
disconnect current connection or not.
gEnableNUDTracking=2, keeping the connection
gEnableNUDTracking=3, disconnect the connection
Change-Id: I0f321dcf5f3fc1bf7d0c93fa0d70bf4770ccaf35
CRs-Fixed: 3412213
1\ Optimize the log output;
2\ Remove the duplicate code;
3\ Fix issue about processing partner link in probe response frame.
Change-Id: I05a67cf9ee7c017c6f76924f9cf08bbe2185b81c
CRs-Fixed: 3410878
EasyMesh application will get current TX rate information of connected
station. Add API to support it.
Change-Id: I6778e1ae18f3efe89930a5423455ebf3f8084a95
CRs-Fixed: 3406509
Rename policy_mgr_is_ll_sap_present() into
policy_mgr_is_vdev_ll_sap(). As this api mainly checks
whether the given vdev is ll sap or not
Change-Id: I7f87aceeb0ed6ac5bb7014db1fd6213e62e6305e
CRs-Fixed: 3413644
Remove lim_print_mac_addr() API from lim and use
QDF_MAC_ADDR_FMT for MAC print.
Change-Id: I7047183768a40a628662588ad7ed53bfe8ba844d
CRs-Fixed: 3400047
Handle mlme_vdev_reconfig_notify callback to get notification
after receive the first ML reconfig link removal IE.
Override the delete timer tbtt to 0 to fire the timer early
if timer is less than 1s. This is to avoid host delay of sending
to link inactive command to FW and FW receive deauth before host
inactive link command.
Change-Id: I7865b7942813fd7facf4daa8624c976166814311
CRs-Fixed: 3380147
Handle link removal for ML STA vdev:
Send force link command to target if MLO STA link number > 1.
Select other inactive link to active if possible.
Change-Id: I40567364ad240399caf6be6683b96d17f6a4aab0
CRs-Fixed: 3352849
Process MLO Reconfig IE in beacon for link removal with common
api mlo_process_ml_reconfig_ie.
Change-Id: Ie1206794944d7979170a78c895b5b1c4ae45597f
CRs-Fixed: 3352907
Incorrect parameters exist in TWT documentation. Correct parameters
to match function.
Change-Id: Ida1c223b8e5735cc9126f321142218d56716d4be
CRs-Fixed: 3414468
Few of the CE descriptor related macros are moved from qdf to
ce_internal.h file. Hence rename the corresponding macros.
Change-Id: I64b74456fb3f349ab65b3c955461ef3693ca318d
CRs-Fixed: 3388380
Cache roam information in wlan driver, when qca vendor
cmd of QCA_NL80211_VENDOR_SUBCMD_ROAM_STATS get roam
information, driver send all the cached information to
user space.
Extend WMI_ROAM_STATS_EVENTID event information for
requirement of:
1.Roam trigger related information, include timestamp,
trigger reason, trigger condition, abort reason,
scan type, roam status and fail reason.
2.Roam scan related information, include scan channel
number, dwell type, max dwell time of each channel
and total scan time.
3.all types of roam related frame information, include
timestamp and successful or failed status for Preauth,
Reassoc, EAPOL-M1/M2/M3/M4.
Change-Id: I2a694b7c1df8f5da09505f65c9c797be2177b398
CRs-Fixed: 3391601
This change disables IPA offload and optional
wifi datapath feature. This change will be used
until kernel changes are merged.
Change-Id: Ib47d69ba8da2e1fa3f0a1bd05926bbf3d74f51e4
CRs-Fixed: 3401190
Currently when packets are routed from IPA to
HOST via the exception path, the system encounters
a use-after-free crash. This change eliminates
the access of nbuf pointer after being freed in the
hdd_ipa_send_nbuf_to_network().
Change-Id: Ib126ac9092562067cb8eeb2b1d6464941111796c
CRs-Fixed: 3410414
Currently, while fetching pcl for some vdev id, host driver retrieves
the number of ML connection and provide as max index value for vdev list
and info array. This max index can't be more than
MAX_NUMBER_OF_CONC_CONNECTIONS from functionality perspective.
But static analyzer tool complains that there are chances for out of
bound access of the given arrays while filling the indexes.
So, to fix this, add checks to avoid any such possible out bound access.
Change-Id: I09261e23620df5fc73887c9e5633b408afa66796
CRs-Fixed: 3412348
Currently vdev set parameters sends through
wma_cli_set command, during processing of cli_set command
some vdev set params stores in vdev_cli_config
For remaining params printing invalid
which creates confusion.
To fix this modify debug print to param is not part of
vdev_cli_config to avoid confusion.
Change-Id: I5644adfe6d7cff61b09a6191813109877c378fdd
CRs-Fixed: 3412198
Extend WMI_ROAM_STATS_EVENTID event information for
requirement of:
1.Roam trigger related information, include timestamp,
trigger reason, trigger condition, abort reason,
scan type, roam status and fail reason.
2.Roam scan related information, include scan channel
number, dwell type, max dwell time of each channel
and total scan time.
3.all types of roam related frame information, include
timestamp and successful or failed status for Preauth,
Reassoc, EAPOL-M1/M2/M3/M4.
Cache roam information in wlan driver, when qca vendor
cmd of QCA_NL80211_VENDOR_SUBCMD_ROAM_STATS get roam
information, driver send all the cached information to
user space.
change-Id: Ic5e1120b51c20c103100833b4296002c5939b021
CRs-Fixed: 3389269
When EasyMesh controller steers client from AP in EasyMesh controller
to AP in EasyMesh agent, EasyMesh controller will add this client to
blacklist ACL of its AP, then send BTM request to this client. When
client is added to ACL, deauth is not expected since EasyMesh controller
would like client to do roaming with BTM request.
Add new ACL command for EasyMesh. Do not deauth station when add station
to ACL or delete station from ACL.
Change-Id: I499c69108259799a9f0742d1371a666f2b3bbed1
CRs-Fixed: 3408175
As per current logic previous N-1 frequencies are passed by caller
to validate considering the current frequency as Nth freq. But
instead of comparing previous_n_freq - 1, index - min_index
is compared with previous_n_freq . Due to this current frequency
will not be selected as best frequency even if previous 3 or 4
freq depending on BW are free.
Fix is to pass previous N frequencies based on BW instead of N-1 and
compare index - min_index < prev_n_freq.
Change-Id: Ib78a6774f8d33b264fa2941255f043ea76c6e08b
CRs-Fixed: 3409806
If wlan_hdd_get_sta_stats() is called with non-assoc link's
peer MAC address, it will fetch link adapter with that BSSID.
Link adapter doesn't have pointer to partner link's adapter
and wlan_hdd_mlo_update_stats_info() cannot return the best
RSSI and SNR among all the links.
In wlan_hdd_mlo_update_stats_info() API, if link adapter is
passed to get the best RSSI and SNR of all links, then first
fetch ML adapter to loop through all the link adapters.
Change-Id: I33090fecfa0a20221fc8c465ad9f36f3eb941e60
CRs-Fixed: 3399641
The cfg80211 callback for get channel is returning invalid
channel in case of SAP as the check for is vdev associated
will return false for SAP mode.
Keep this check only for STA mode only so SAP can return
the valid channel in get_channel callback.
Change-Id: I5a03626291f0e20c8e07ae8fde48cb9eacafb2e4
CRs-Fixed: 3410453
Host receives channel list via an event
WMI_ROAM_SCAN_CHANNEL_LIST_EVENTID as
getroamscanchannels command response on disconnection.
Host sorts the channel list in descending order before
sending the list to the supplicant. As per current
logic, the host fills only the value of LSB for the
second channel onward. This results in host respond
the RCL list with an invalid format of frequencies
to the upper layer.
Fix is to make sure the host should respond RCL list
with the correct format of frequencies.
Change-Id: I1670ec4a99a7c9c7c438c430a9476802f8af83ce
CRs-Fixed: 3397397