When the scheduler thread initiates the WMA_SET_BSSKEY_REQ
we send CMD_UPDATE_RX_REO_QUEUE to REO srng. This is done by
posting a descriptor to the reo command ring and then we
update the HP so that the HW can consume the descriptor.
Avoid accessing HP shadow address when we are in runtime
suspend state. Perform a hif_pm_runtime_get to resume the
link and access the shadow register and once done initiate a
hif_pm_runtime_put to allow device to go into runtime
suspend.
Change-Id: I24c3e046a5769f03a0f1969360cccdbe55b81d45
CRs-Fixed: 2495720
Do not send the WMI command WMI_PEER_REORDER_QUEUE_SETUP_CMDID
to target if roaming is in progress, as there is a discrepancy
in peer information between the host and firmware when roaming
is in progress
Change-Id: I8e91635b56257bb29972898a29c454123f7cdb8e
CRs-Fixed: 2490238
HW access to MSDU link Ext descriptor with NULL address,
whie from host MSDU Ext pool and related ring entry history,
not find NULL address recorded. In case the MSDU Ext descriptor
has been overwritten before issue happened, add DMA address
validity checking in MSDU Ext descriptor filled from TSO
segment fragments and also buffer address in ring entry.
Change-Id: I11dc1d0211530a5f01b515473b2458df15a5f4cc
CRs-Fixed: 2498359
This changes takes care of the below issues.
1. Skip the host allocation of software Tx descriptors
for single band NSS offloaded radio configuration.
2. Reset the reo frag destination to alternate select
for single band offloaded radio configuration.
Change-Id: I3930f266ff9d81d876dda437b29b1ca83d542e12
1. Remove vlan tag in tx and enqueue to hardware.
2. Add vlan tag in rx after peer-vlan_id lookup.
Change-Id: I932202540ac03cabdd20ffd4849fe759ea8a7abb
Limit the total number of tx descriptors allocated using tx_device_limit
ini configurable parameter.
Change-Id: I00b4aa089b235e45bc6c445c57ce32b977d872c3
Add tx device limit configurable from INI.
This is used to limit the overall tx descriptors used in the device
Change-Id: I51e9611ca14bdc146de914317b38b98329130c9f
Add dp_tx_desc_limit for 5G high, 2G and 5G low to limit the
number of software tx_desc to be allocated.
Change-Id: If97e858b73aafaed0e21fc8f6e0337e467ce0ecc
Update rx error stats. It is a summation of below failures:
- desc_alloc_failure [No free desc available]
- csum error [IP/TCP_UDP]
These failure stats are updated at pdev level and no need
to aggregate this.Directly add at pdev level and export.
Change-Id: I0a5fa8f972babf092163f3cb2d0093547ded4877
CRs-Fixed: 2496037
Handle only single nbuf in dp_rx_deliver_to_stack_no_peer. Make sure to
terminate nbuf->next = NULL before delivering it.
Change-Id: Icec76da3b5c5cfd2682489db51cd115e8bc9b830
CRs-Fixed: 2497966
Printing ring stats from requesting txrx stats needs access PCIe link
so make sure it is resumed by doing a sync resume if it is runtime PM
suspended. Also response of h2t_ext_stats_msg from FW is not guaranteed
so tag it properly so that in HTC layer, corresponding "put" API will
be called right after sending the packet.
Change-Id: Idc5797b38557ed5779d920c72200b9d28769ab58
CRs-fixed: 2487521
Add code to replace usage of void pointers from
HAL layer and instead use appropriate opaque pointers
Change-Id: Id950bd9130a99014305738937aed736cf0144aca
CRs-Fixed: 2487250
Add code to remove void pointer usage for hif_handle
and use opaque pointer hif_opaque_softc and also use
cdp_soc for opaque DP soc handle
Change-Id: I2896f7704ffb809214c5b08756c4b8673307fd9e
CRs-Fixed: 2487247
Make change to remove void pointer usage in DP cal client
instead use cdp opaque pointers.
Change-Id: Ie966ebb7b6bb937d4ee1d6dce3b040804e61ac37
Crs-Fixed: 2484412
Add code to remove void pointer usage for dp_soc
and use original dp_soc structure inside htt_soc
Change-Id: Icdc26ecdb33d565c43dbc101584069808b31c1a0
CRs-Fixed: 2484403
Make change to remove usage of void pointers for
ctrl psoc in DP and instead use a opaque pointer
struct cdp_ctrl_objmgr_psoc.
Change-Id: I9fac21db1156378fc10b95cf10517afa4364da00
CRs-Fixed: 2484411
Add code to remove void pointer usage for htt_soc
and introduce opaque pointer to be used intead of void
from dp layer into htt layer
Change-Id: I555b67af656e89f63d81bb5aa8c7472ea517ae85
CRs-Fixed: 2484402
Add code to remove void pointer usage for hal_srng
and use opaque pointer dp_hal_ring_t instead.
Change-Id: I6907f7376d7fe3c9180b8795bd96f49fead2ec64
CRs-Fixed: 2484404
Make change to remove usage of void pointers for
ring descriptors and instead use a opaque pointer
dp_ring_desc_t.
Change-Id: Ia1e9a3da9eaa3cccf297b2135b52a72f2fe21431
CRs-Fixed: 2484409
Add code to remove void pointer usage for hal_soc
and introduce opaque pointer to be used intead of void
from dp layer into hal layer
Change-Id: Ia38571174c6ed79558d0f0c9cd1a0f4afaa66483
CRs-Fixed: 2480857
Remove dereferencing of htt_soc structure from dp layer
and instead use HTT APIs.
Change-Id: I6b796f9b6504c763e6df2cf49b15bf3eecfbdf69
CRs-Fixed: 2483401
Add code to use cdp_vdev instead of void pointer for
API dp_tx_send_exception and dp_tx_send_mesh
Change-Id: I63ca5a62c2a8cd6feb906181702888814650dfce
CRs-Fixed: 2480836
Rssi_in_dbm has incorrect format specifier due to which
it returned large values,change it to correct specifier.
Change-Id: I06426e36b6abf5b915d039dfea8afd5d3aa06195
CRs-Fixed: 2490087
Monitor buffer are required only when monitor VAP is created. Allocate
these buffers only when montior VAP is created. This provides memory
savings when no monitor VAP is created/required.
Change-Id: I3ddaef00615f00fd13adb2789469a62f1a0af165
CRs-Fixed: 2491873
Size of rx_pkt_hdr tlv structure is used to check if there is enough
space in the SKB to add radiotap header.
The issue is seen due to a single SKB can hold the multiple TLVs and
the next subsequent SKB has the data. In this case, there is no headroom
available in the second SKB. Therefore crash seen while adding the
radiotap header in the second SKB.
To fix this issue, check if the SKB has enough headroom space. If not,
drop the frame.
Change-Id: Icd11f946c0aee974dde2ef21f59cfe3d8b87fa5d
CRs-Fixed: 2480719
destination ring MPDU processing is stuck because ppdu id is
not sync between monitor status ring and monitor destination ring.
Add logic to detect destination ring process stuck and jump over
destination ring stuck entry.
Change-Id: I17d9b5fba06a28239ec64d864ae7944ae04a7dae
Add new CDP API cdp_register_rx_mic_error_ind_handler to
register rx mic error callback. Also, define new structure
cdp_rx_mic_err_info for holding MIC error information.
Change-Id: I4d5d6426b1d5f04848afd48f6dbf51edba291a20
CRs-Fixed: 2488424
fix memory leak issue in tx mgmt ctrl payload tlv.
if any of the mgmt or pkt capture feature is turned on.
htt_t2h_msg is hold in mgmt_buf and not set to NULL on free.
which cause leaking next target to host nbuf.
Change-Id: I0d9e0194e51a21b348aadf747b8c9def5c245eda
Reduce the excessive loging incase dup detect and advance rx processing
to handle next ring entry.
Change-Id: I1d6e8aa28045ed12dd6d315169483ca56d2c6972
CRs-Fixed: 2489205
Remove note section from code comment and placed
in commit description for better readability.
Macro for sending data packets Changed from macro function
to static inline function due to error reported by
checkpatch for multiple use of same variable.
Change-Id: I0752cfff7502fabe0c2351a21a94cfac4625278f
CRs-Fixed: 2490594
Deliver RX data to stack even if no peer found, this is
needed for LFR roaming case like eapol data.
Change-Id: Ic81f29993fb4542847bd076042a13de6e9f18173
CRs-Fixed: 2468082
Reducing the log level of debug log to avoid console logging
and instead get it on the cnss diag log.
Change-Id: Ie5a1eb6f45ffa97790d91528a173b16319ec760b
CRs-Fixed: 2486057
Check if host is reaping a descriptor which is
already reaped then drop RX desc processing instead of asserting.
Macro DUP_RX_DESC_WAR added before dp_rx_dump_info_and_assert function
which does not assert for the case WAR is enabled.
Change-Id: I4f3c1cc16de79f2483cd415582970e093e81d465
CRs-Fixed: 2486057