Use monitor pkt tlvs size and monitor buffer size
instead of data pkt tlv size and data pkt buffer size.
Change-Id: I3099f6526aa11b353c8a5178de450d48f141a461
CRs-Fixed: 3406962
Add enum to parse and store AFC response format type. This enum is
used to map the response format negotiated with FW during WMI init.
Change-Id: I5c0b61aeddfce1d1b64f9225f64546f80d0e9e3e
CRs-Fixed: 3420549
Correct 5 GHz channels reg rule for CC PK.
a. Split CHAN_5170_5330_3 into CHAN_5170_5250_8 and CHAN_5250_5330_12
to mark missing radar frequency range mark.
b. Change CHAN_5735_5875_8 to CHAN_5735_5875_3 to change regulatory
power value to 30.
Change-Id: I977273e1dfff9d95ad3ca2580a283594ddf7e9b5
CRs-Fixed: 3459453
Correct wrong frequency mapping for APL25 RD.
a. CHAN_5170_5330_3 is split into CHAN_5170_5250_8
and CHAN_5250_5330_12 to mark missing radar frequency
range.
b. CHAN_5490_5730_9 is split into CHAN_5490_5590_4 and
CHAN_5650_5730_4 to mark the frequency range as radar
indication range.
c. Remove unused reg rule CHAN_5490_5570_1
Change-Id: Ib0a754987246329a09cd8779de03859167b80f66
CRs-Fixed: 3447198
Correct reg rules for CC GB.
a. Change CHAN_5250_5330_16 to CHAN_5250_5330_12 to mark
radar frequency range.
b. Change CHAN_5735_5875_7 to CHAN_5735_5875_4 and to remove
radar marking.
Change-Id: Ie3bf1e6102da1cf8df7b3408c46a6f559abb5743
CRs-Fixed: 3447292
Roam background scan abort, driver print roam result
failed, but current ap is still connected.
Add roam background scan abort support for roam fail
reason.
Change-Id: I5aff0a679a4e708345684f763cfadb7eb1c7aae1
CRs-Fixed: 3470618
Below code changes are made
1. Correct 5 GHz reg rules for APL 26/27 RDs.
i. APL26 changes
a. CHAN_5170_5330_3 is split into CHAN_5170_5250_8 and
CHAN_5250_5330_12 To mark missing radar frequency range.
b. CHAN_5490_5730_3 changed to CHAN_5490_5730_5 to mark the
frequency range as radar indication range.
ii. APL27 changes
a. CHAN_5250_5330_10 and CHAN_5490_5730_4 are changed to
CHAN_5250_5330_7 and CHAN_5490_5730_1 respectively to mark the
frequency range as radar indication range.
2. Remove duplicate entry CHAN_5735_5835_8 (duplicate of CHAN_5735_5835_1)
Change-Id: I7daa70ae992a87de73721bcfab170894af3358ca
CRs-Fixed: 3447101
qdf assert always, assert without debug information.
Added support to dump needed information before assert.
Change-Id: I2b53b7fa6a600b2a1aafdbc608b95b75feb2133d
CRs-Fixed: 3464724
In SDX_75, doorbell register is only writable not readable
so fix printing of stats for TX ring.
Change-Id: I058c4241b9c91902f32ed76f099f7501e667c78b
CRs-Fixed: 3436677
Currently many pev related API's are not present in
wlan_regulatory_pdev_obj_created_notification. As a result many info
is not saved to pdev.
To address this issue invoke reg_propagate_mas_chan_list_to_pdev
from wlan_regulatory_pdev_obj_created_notification.
Change-Id: I47b7c09006c93828db32710d1fa882eb1f9b8ba5
CRs-Fixed: 3461593
In the change-id Ied56965c2e8d700a2fc14a5a2b79beed95ac7818,
the call of reg_propagate_mas_chan_list_to_pdev in pdev_obj_creation,
leads to a fatal assert.
Within reg_propagate_mas_chan_list_to_pdev,
ol_ath_fill_umac_legacy_chanlist is called, and internally
within ol_ath_fill_umac_legacy_chanlist, the cookie for the event
ic->ic_wait_for_init_cc_response is set, before the
ic->ic_wait_for_init_cc_response is created in the function
wlan_pdev_update_feature_ptr. This leads to a crash.
To fix this issue, separate fill_umac_legacy_chanlist from the function
reg_propagate_mas_chan_list_to_pdev and call fill_umac_legacy_chanlist
only when WMI_REG_CHAN_LIST_CC_EVENTID or
WMI_REG_CHAN_LIST_CC_EXT_EVENTID is received.
Change-Id: I5fcf85eed32d3ab2cd4fd88ad117fcf22c5875b2
CRs-Fixed: 3427982
Update roam trigger sub-reason for common roam
and wlan diag event need update to user space.
Change-Id: I66733736d9148e3748c653d4b43a1aa6d2f438cf
CRs-Fixed: 3459385
Currently host isn't validating the reg rules received from
fw. Host saves these reg rules locally and updates the same
info to kernel.
To address this issue add logic to validate reg rules in host.
Change-Id: I7369126e83ab210720cb5b2db2e11d3aa7491b4a
CRs-Fixed: 3376632
Below signature is seen in driver logs.
Target is suspended (via send_process_dhcp_ind_cmd_tlv:244)
cds_trigger_recovery_handler: critical host timeout trigger
fw recovery for reason code 34
Suspend/Resume test is run with SAP started and a ref-client
is associated with the SAP. One DHCP-Req packet is received
from ref-client before driver completes the resume process.
With SAP_DHCP_FW_IND feature enabled, driver will send one
WMI cmd to target for such DHCP packets received.
With IPA_OFFLOAD enabled, such DHCP packets are received from
the RX exception callback from IPA driver. Hence add support
to queue these DHCP packets onto pm_queue_head skb queue when
WLAN IPA component is still in suspended state. When IPA component
is resumed from suspend state, pm_queue_head skb queue will be
drained to pass up queued RX exception packets to stack.
For QCA_IPA_LL_TX_FLOW_CONTROL enabled platforms, such as WIN
chipsets, suspend/resume is not supported. Hence wrap fixes
only for !QCA_IPA_LL_TX_FLOW_CONTROL.
Change-Id: I823005d9b58d1d62eec2c044621e1c1423aa3537
CRs-Fixed: 3457254
Add a new MSD duration subfield that holds duration value
in the units of 32us. Deprecate the old subfield msd_dur_us
that holds the duration value in microseconds.
Change-Id: Id4789c550778d901cb519e53e350cc9fc66611e7
CRs-Fixed: 3446377
Introduce new macro to support get TID to link map status command
and TID to link response event.
Change-Id: I2f8fc03c306eae7f11d77253ce0ec565c9df2d71
CRs-Fixed: 3431459
Currently, HTT Tx ring packet type flag is set as bitwise operation
which is incorrect and results in "Debug Assert Caught".
Set this CTRL and DATA packet type flag with a value of 1.
Change-Id: I62e89fe637441fcc680ea8d5fe8d157d8e7142ae
CRs-Fixed: 3415733
address of array 'tx_ppdu_info->hal_txmon.rx_user_status' will always
evaluate to 'true' [-Werror,-Wpointer-bool-conversion]
Change-Id: Ic148f34b82ce756eb07173b43f8f155a7b4a12d9
CRs-Fixed: 3415726
dp_peer ref_cnt is increased in dp_rx_mon_populate_cfr_ppdu_info(),
but it does not release it at last, this leads to dp_peer ref_cnt
leak which then dp_peer memory can't be freed and corresponding dp_vdev
leaked as well.
release the ref_cnt for dp_peer at the end of
dp_rx_mon_populate_cfr_ppdu_info().
Change-Id: I8ac301609deb3790ad9f3d6eda85d502cede9799
CRs-Fixed: 3461642
As part of TX Mon 2.0, WIN has IEEE80211 specific macros only in WIN side
header file, but now Tx Mon 2.0 is required to be supported on MCC side
and these macros are not available. Hence extend by adding the required
type/subtype macros in qdf common header file.
Change-Id: I76cf0a0c226664c34c9c8bd10e280a500b3c61a9
CRs-Fixed: 3415715
Add a new vendor command QCA_NL80211_VENDOR_SUBCMD_GET_MONITOR_MODE to
get the local packet capture status in the monitor mode. Add required
attributes to respond with status of the monitor mode. The monitor mode
can be started/configured by using the
QCA_NL80211_VENDOR_SUBCMD_SET_MONITOR_MODE subcommand.
Change-Id: I72edd46f85b545d7aecb3c704441e810db9ca711
CRs-Fixed: 3415711
1. Check Tx halt during umac reset and avoid halt if set already.
2. Perform SRNG disable only in case of umac reset
Change-Id: Id364a6460a64e83002b5c96e08031ad2a0bc8fd7
CRs-Fixed: 3459427
Currently, MLO vdev flags(WLAN_VDEV_FEXT2_MLO and
WLAN_VDEV_FEXT2_MLO_STA_LINK) are set/get from both initial
connection and roaming. As there are no logs in the set/clear
APIs, it's difficult to track where it's set/cleared for debugging.
Add logs in set/clear APIs to indicate on which vdev the flags
are set/cleared.
Change-Id: I7bd2dcd10a58ec3c09c7fd7a52169a3fea236223
CRs-Fixed: 3467014
After receiving WMI service ready ext2 event and htt msdu index to
qtype map is derived, call CDP API to evaluate whether TX ILP can be
supported or not, update the TX ILP capability to DP, also send WMI
INIT CMD to FW to notify if host has enabled the TX ILP support or
not.
Change-Id: I472ebc5c7fa4b2996b790b58274fa3c048f6d7f9
CRs-Fixed: 3447519
Update meta data version of Waikiki as it supports AOA
phase delta extraction now.
CRs-Fixed: 3462217
Change-Id: I909802417125ecafaf4d14466c349f0ed9b45fd2
Implement the data structures for DFS puncturing and
un-puncturing state machines. For details of state
machine implementation refer to the change id
I5accbf2866a830447bd776b989c31909060c45ca.
CRs-Fixed: 3462277
Change-Id: I026228fb72302408f2992325099a31a60e986e3c
For MBSSID, aid mgr is allocated twice in
few corner cases of VAP create.
This change adds check, if aid mgr is allocated
by legacy code in vap create, aid mgr allocation
would be skipped
Change-Id: Ie44fab12badb5c9487ce3de333376e1885e727d0
CRs-Fixed: 3461883
1. Start response is received for vdev-0 and continues processing
mlo_sync_complete for partner vdevs holding ap_ctx lock and waiting
on vdev_sm lock of partner vdev
2. During which one of the partner vdev completes CAC_WAIT and continues
processing mlo_sync_complete holding vdev_sm lock and
waiting on ap_ctx lock. This scenario is resulting in RCU_STALL.
The last vdev in MLD to receive start response is responsible for
dispatching MLO_SYNC_COMPLETE event all the partner vdevs and then to self
If vdev_up_bmap is set, then return.
Change-Id: I5ae7146eeba5154331f442f9987593044bde76b4
CRs-Fixed: 3457019
Following sequence of events results in a deadlock.
1.When channel change is in progress on channel 100.
In mlme_ext_vap_start_response_event_handler(),
wlan_vdev_mlme_sm_deliver_evt takes a mlme_vdev_sm_spin_lock
while posting WLAN_VDEV_SM_EV_RESTART_RESP event.
2.This mlme_vdev_sm_spin_lock is released only after
the RESTART RESPONSE action is completed. Restart response action
calls mlme_vdev_start_continue_cb() where
iv_enable_radar_table() is invoked. [[SM SPIN LOCK ACQUIRED]]
3.iv_enable_radar_table() = ol_ath_enable_radar_table.
This invokes ol_ath_init_and_enable_radar_table() where
dfs_get_radars() is invoked. This calls dfs_get_po_radars()
where WLAN_DFS_DATA_STRUCT_LOCK() is tried to be acquired.
4.However, acquisition of WLAN_DFS_DATA_STRUCT_LOCK() fails in (3)
because the lock is held by another thread mentioned in (5).
[[WAITING FOR DFS LOCK AS DFS TASK HAS ALREADY ACQUIRED]]
5.While AP is in START Response action detailed in (2),
there is a radar event received and dfs_task acquires
WLAN_DFS_DATA_STRUCT_LOCK. This lock is held till
VDEV RESTART is posted. [[DFS LOCK ACQUIRED]]
a. Dfs_task
b. dfs_process_radarevent
c. dfs_radar_found_action
d. dfs_radarfound_action_generic
e. dfs_process_radar_ind
f. dfs_process_radar_ind_on_home_chan
g. mlme_dfs_mark_dfs
h. ieee80211_mark_dfs
i. ieee80211_dfs_action
j. wlan_pdev_mlme_vdev_sm_notify_radar_ind
k. mlme_vdev_sm_radar_notify
l. wlan_vdev_mlme_sm_deliver_evt()
[[WAITING FOR SM SPIN LOCK WHICH IS ALREADY ACQUIRED IN (2)]]
Fix: To acquire WLAN_DFS_DATA_STRUCT_LOCK lock only around
dfs_process_each_radarevent() where the radar filter tables
/ radar queues/ delay lines are manipulated and release once
dfs_process_each_radarevent() is completed.
dfs_radar_found_action() which changes channel after radar
need not be protected by the DFS_DATA_STRUCT_LOCK.
Change-Id: I308f96d77c4e2e28f2ba1ec55f363202a8c25fe8
CRs-Fixed: 3403824
variable is not defined leading to compilation
issue when vlan is enable in SDX.
Fix is to correct the variable name.
Change-Id: I2d3618d9ad3d8a48026cb8c737ce6ede733cb478
CRs-Fixed: 3462236
Update the Umac reset state machine before sending the command
to firmware as we might get the response from firmware even
before the state is updated.
Change-Id: I3ca2560d91c39d34e7efe156521c2ba5114a7536
CRs-Fixed: 3462821
Record hardware TX descriptor history during TX enqueue for WCN6450
(Rhine hardware). This will aid in debugging data path issues.
Change-Id: I99c2a88ca161f89d529cba92692811fadee28938
CRs-Fixed: 3462090
Add RX debug history support and first packet marking
after WOW for RHINE architecture based RX path.
Change-Id: Ife719bdc3e5031a63b3f97c5842a220caeda8ffd
CRs-Fixed: 3452940
Add if_mgr support to handle STA CSA complete notification and
SAP CSA Started and complete notification.
Before CSA vdev restart on SAP side, disable TDLS off channel.
After CSA, check if TDLS is allowed for the current concurrency
and take action accordingly.
Change-Id: Icbadb898f5b468717f74f92a0993c05b59719205
CRs-Fixed: 3445113
Per new design, FW will use HTT_MSDU_QTYPE_USER_SPECIFIED instead of
HTT_MSDU_QTYPE_LATENCY_TOLERANT for TX ILP support judgement,
change it in host part accordingly.
Change-Id: I0318801c4fe11ca623a99459d9f6820acb1c8fea
CRs-Fixed: 3462232
On some third-party platforms, we observe the memory physical
address below 0x2000 is allocated will cause HW/FW NOC error,
so this region memory should not use by host.
This change will hold the memory if the allocated memory physical
address below 0x2000 until driver unload.
Change-Id: I9d5df20cbdf23c230d7c910cce9b9489dd9dd614
CRs-Fixed: 3419648
On txrx_stats 260, wdi event stats are displayed with content as zero.
Which need to be displayed only on non zero value.
Change-Id: I5ad4595e35e977dd141584c92cdc164e153b7c0f
CRs-Fixed: 3454039
In the LPM case, if the tx desc has been force
freed in the dp_bus_suspend ->dp_find_missing_tx_comp,
then after data transfer resumed, fw may report
tx complete for the same tx desc, and we should
skip it to avoid null pointer access.
The reason why set default vdev_id to 0xff is:
Since in this case, it happned disconnect before
suspend, so the tx desc pool will be deleted and
reinitalized when resume, so the pdev is null in
the force freed tx_desc and vdev_id should be changed
from 0 to DP_INVALID_VDEV_ID, otherwise the below logic
in the tx complete handler will not skip handling
this freed tx_desc.
if (qdf_unlikely((tx_desc->vdev_id == DP_INVALID_VDEV_ID) &&
!tx_desc->flags)) {
DP_STATS_INC(soc, tx.tx_comp_exception,1);
dp_tx_desc_check_corruption(tx_desc);
continue;
}
Change-Id: I5f3ff6fd783893f92a0fd6b3db7457b280fcb1c8
CRs-Fixed: 3447465