In TX completion, we need to handle TSO frames release in below
sequence: Unmap skb -> free skb -> free this tx desc. Thus separate
skb unmapping and free tx descriptors for TSO logic.
CRs-Fixed: 2250960
Change-Id: I6979b4ec64e3f51bc6d8e485e843e2ab35eee86e
In existing code the HTT stats buffer was getting freed after
parsing mgmt. payload TLV, which was leading to missing beacon
metadata.
Add change to continue processing HTT stats buffer even after
receiving mgmt. payload TLV.
Change-Id: Iac67577ea5e362f046a1d5432204362a9559c788
CRs-Fixed: 2248313
When sta+sap scc enabled on dfs channel then SAP cannot operate on
DFS channel in standalone mode. If STA+SAP are operating in SCC mode
on a DFS channel and STA gets disconnected from reference AP then driver
schedules a workqueue to move the SAP from DFS channel to user configured
channel. At this time if STA again connects to reference AP within few ms
then driver again schedules one more workqueue to move the SAP to STA's
channel. Sometimes the second workqueue may fail to switch the channel
if first one is not yet completed. So added event variable to schedule
second workqueue only when first one is complete.
CRs-Fixed: 2267005
Change-Id: Ia6ce4b6264c35f6d2c809e2a3f65f535e930874e
Assign the vdev in NDP request message and hold the vdev reference till
the command is processed. Else the consumer of message will fail when
trying to take reference since vdev was not set in request packet.
Change-Id: I4c7e50690eff1f92f151f00209ec786a03252e76
CRs-Fixed: 2252035
If MCC to SCC switch is enabled, SAP is active and CSA
received for STA interface, then ignore the CSA if channel
is DFS/disabled.
CRs-Fixed: 2263037
Change-Id: I98b8d957766358ea86cc9f50339725cf4bf0038b
Fix compilation error while enabling QCA_WIFI_3_0_ADRASTEA
and HIF_PCIE flag for Genoa.
Change-Id: Ia8c44ae8623c22af415dc66061f38b59169f08a8
CRs-Fixed: 2266809
Currently, the APIs qdf_nbuf_set_rx_info and qdf_nbuf_get_rx_info
are no longer used in our driver code.
Cleanup the unused code for qdf_nbuf_set_rx_info and
qdf_nbuf_get_rx_info.
Change-Id: I57acbd4e5901d8922e3b650f0f3b57f056a0ae3e
CRs-Fixed: 2259212
Rename the function dfs_mlme_deliver_event_up_afrer_cac() to
dfs_mlme_deliver_event_up_after_cac and rename the function pointer
mlme_deliver_event_up_afrer_ca to mlme_deliver_event_up_after_cac
Change-Id: I29c2094a0b45c9583b897e088ce9938c759e26ba
CRs-Fixed: 2251792
In case where a qdf event was waiting and an SSR has occurred,
force_set flag is set for the event. After driver recovery is
complete the same event can be reset and re-used without
resetting this flag. This may cause a failure even after the
event was successfully completed.
Clear the force_set flag while resetting a qdf_event
Change-Id: Ia8cbc04776144d40e9c59fa339f8993fdbb73368
CRs-Fixed: 2264320
Add new function pointers type to 'struct cdp_lflowctl_ops' to set tx
desc limit and update OS queue status.
Also add cdp_hl_fc_set_os_queue_status()
Change-Id: I18dab34c31a5d8f459179358e16ef124a13f5742
CRs-fixed: 2236466
Add function cdp_hl_fc_register() for registering flow control
callback for HL netdev flow control.
The flow control callback will be responsible for pausing/restarting
OS network queues.
Also the parameters of function pointer "cdp_lflowctl_ops:
register_tx_flow_control" are changed.
Change-Id: I6a1c82492fd67557eea7523134ff465726ac7a1e
CRs-fixed: 2236466
use hal_msdu_len instead of qdf_nbuf_len to get
the packet length and correct the packet length
for first msdu of a amsdu
Change-Id: I7410cb6bd98743f3b01019c9e394c32c77c3a30e
CRs-Fixed: 2228232
1. Move mailbox transfer dma definitions to mailbox.h
2. hif_configure_device changes to make it more generic
3. Add address fixup function
Change-Id: I12bdf8b07350411093ba35071411525a8333cf93
CRs-Fixed: 2252417
Redo the hif layer object for separating the transfer methods
1. Move swap_mailbox from hif_sdio_dev to hif_sdio_device
2. Move the mailbox registers to mailbox specific file
3. Send request flags to be populated per transfer method
Change-Id: Ia53ab2b8cd39875d1e7353a212057ff010e89db8
CRs-Fixed: 2252410
Refactor the mailbox operations in a separate file mailbox.c
Collect common transfer functions in new file transfer.c
Remove redundant file hif_sdio_send.c
Remove redundant file hif_sdio_recv.c
Change-Id: I964970f4651a11000e9833ad21eef1b255682341
CRs-Fixed: 2252406
Refactor the quirks into a separate file.
Clean up hif_device_inserted by adding multiple functions.
Clean up startup and enable task.
Change-Id: I2199a1f355561e52fa06a82aa196e0eab2ab34c6
CRs-Fixed: 2252385
As WIN has multiple modules and QDF is the last one to be unloaded,
QDF is crashing when it tried to print the file name of an nbuf
allocated by other modules. To fix this, copy the file name in the
QDF nbuf tracker, rather than using the pointer to file name,
to avoid access to the invalid pointer.
CRs-Fixed: 2258770
Change-Id: I27ee76e58b0f5a976840783cfeba451784de85dd
1. Add support upto 2048 buffers in the ring
2. Add API to print current ring status per module per pdev
3. Start module ID numbering from 0
Change-Id: I7954007c6c486877ffb2ab91724885af2fbaab8c
CRs-Fixed: 2263968
When driver unload is triggered, check_for_leaks complains,
saying it finds pending entries in TxLookupQueue of ENDPOINT_0.
Flush pending entries in TxLookupQueue for ENDPOINT_0 during htc_cleanup.
Change-Id: Ica661453d5cef283526cfa1e7267d5349b5e2310
CRs-Fixed: 2249980
key_mgmt was using uint16 datatype and used
to hold more than it's size.
increased its data size to uint32 address this
issue.
Change-Id: I88a4550bff2e0543700ba1470df3340e7020b7f0
CR-Fixed: 2254883
Clean up excessive logging from target if and QDF to avoid spamming
kernel log buffers.
Change-Id: Ib81d6bb68bae9d5c477755b31dc20e10663147d5
CRs-Fixed: 2259283
Add PEER_DEBUG_ID_WMA_CCMP_REPLAY_ATTACK, to be used during
ccmp replay detection to get the peer ref count.
Change-Id: I6159556db959f447edcf75a5f64d398cbe544a80
CRs-Fixed: 2264963
qdf_debugfs_init needs to be rearranged for the debugfs to work for
memory tracking on WIN.
Change-Id: I660731a22368d34a1e4f8c29539fffd9731d02cc
CRs-Fixed: 2254297
Create NDI vdev after adapter is added to back of hdd adapter list,
so that vdev create completion callback can identify right adapter
and set corresponding completion variable.
Change-Id: Id0d78a5e482c875fee346224f37c29a874814133
CRs-Fixed: 2252031
Netlink service init and exit is invoked as part of wlan logging
init and exit during qdf module init and exit. This brings in a
hard dependency to enable and compile wlan logging service
even if not used.
Decouple netlink service and wlan logging service to remove
inter-dependency. WIN qdf module currently does not require wlan
logging to be enabled. This separation leads to bss savings in qdf
module.
Change-Id: Ib0afafd196106eba78ad9783eb1a6cece77c00fa
CRs-Fixed: 2258640
When STA's join req times out on current BSS, SME issues next BSS
internally without checking HW mode for new channel
For example, STA tries to connect SSID="abc",
BSSID="a1:a2:a3:a4:a5:a6", channel=36 and lets say it fails. It
should try few more times to same BSSID and after that it will try
next bss. Lets say next BSS it found has, SSID="abc",
BSSID="b1:b2:b3:b4:b5:b6", channel=1 then it needs to check whether
hardware mode change is required for channel=1. If driver fails in
checking hardware mode then following check will prevent the bad
situation.
CRs-Fixed: 2261129
Change-Id: Ie31ac5b8b90c6e63122148647ad333fccfbf9dbf
DFS test timer is initialized and used by Full-offload but the timer is not
reset during DFS reset.
Reset DFS task timer during DFS reset.
Change-Id: I5d5395744a98e5ca2a7a94971e7c1c6e6e0b174f
CRs-Fixed: 2252612
As per the current design we are trying to take a ref
for the vdev even when there are no active vdev.
Fix this by adding a NULL check.
CRs-Fixed: 2262983
Change-Id: Iac62c9d0e1138c3d150a179546ad7793ff61e3db
Sync the Spectral header files used by driver and Spectral related
applications.
CRs-Fixed: 2258823
Change-Id: I9a4fb89e9327fffb7478619e63788a1d284f49b5
Allow the SAP to move from DFS channel to another DFS channel in
STA+SAP SCC concurrency scenario.
CRs-Fixed: 2263031
Change-Id: I3d1f5e57415ed39a30125d4565bb768926dff4c9
MC timer implementation has changed recently, and
it requires TDLS timers shouldn't be stopped before
restart.
Change-Id: I718972bd0f7c66b04145ee38c58440f6240a8de2
CRs-Fixed: 2223777
Add ol_txrx_completion_fp in ol_txrx_ops to provide support for
callback during TX completion.
Change-Id: I7af478636badd8f8562460cefaf5db56633df8e9
CRs-Fixed: 2253569
Fix the memory over run by removing the extra "END" ascii print
as it overruns the available memory.
Tests Done:
Ran Pollux_ACFG_MIPS_3Radio_Channel_Change_120s_Rev_1.0.0.0 for ~20hrs
Ran PDT_Pollux_Reboot_Rev_1.0.0.1 for ~36hrs
Change-Id: Id71fe8c95a41369f55d53ece043a0b00e62c5d4f
API for dumping the CE descriptors copies all descriptors for
the given Copy engine id and also copies the SKB packet pointed
by the descriptors till smart_log_skb_sz bytes.
Change-Id: I511bda77319944c1ec2377f716087956ce0637ac
CRs-Fixed: 2008290
Add host WMI definitions for the type and subtype fields in
wmi_fatal_condition_event.
CRs-Fixed: 2257956
Change-Id: I2c7043081de86a42b3e89ade34d4a1ffc0c39d77
Add vendor command support to enable or disable GTX.
Currently there is no vendor attribute to enable/disable
GTX from vendor command. Add vendor attribute
QCA_WLAN_VENDOR_ATTR_CONFIG_GTX support through
QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION vendor command
and with new wmi command WMI_VDEV_PARAM_GTX_ENABLE.
Change-Id: I8a740f9209ffd5f6438c3cfdd830ee2a76d0aa52
CRs-Fixed: 2261322
In ETSI domain, after CAC, channel is added to ETSI CAC cleared list,
so that next time it can skip CAC if channel is already present in this
list. If radar found, remove channel(s) from this list indicating that
when channel(s) is/are selected in future, the CAC needs to be re-done.
Change-Id: If6b31ecda2ab159188e7724bce7d1c2d8375fa3c
CRs-Fixed: 2143266
Fix out of bound access for array "weight_list" with size 55 bytes
and declared on stack of function utils_dfs_get_chan_list. Same memory
is accessed in function policy_mgr_update_with_safe_channel_list with
index 127, leading to OOB access.
Change-Id: Ib7ba74e0096e90fd197bc563d2e82e497cf83759
CRs-Fixed: 2232833
Android Packet Filter 3.0 requires the framework to be able to
read and write into the APF work memory in the Firmware. It
also requires to be able to enable or disable the interpreter.
New WMI commands are defined for read/write/enable/disable
operations.
Complete the implementation of these new commands.
Change-Id: I852d61eb213d9ae530e8a71069144ef35816f5b8
CRs-Fixed: 2184971
In case os_if request times out, free the corresponding
memory allocated for stats event to os_if.
Change-Id: I23bd65f2b79c71070d65b5e4045eaf4e17113354
CRs-Fixed: 2262653