qcacmn: Handle the duplicate entries in reo exception ring
We have come across scenarios where rxdma is pushing a certain entry more than once to the reo exception ring. In this scenario, when we try to unmap a buffer, it can lead to multiple unmap of the same buffer. Handle this case, by skipping the process of this duplicate entry, if alrady unmapped, and proceed to the next entry. Change-Id: Iae66f27e432f795ba4730911029fa1d63a75cb06 CRs-Fixed: 2739176
This commit is contained in:

committad av
snandini

förälder
9b715c34c5
incheckning
1de57c2150
@@ -721,6 +721,20 @@ void dp_rx_deliver_raw(struct dp_vdev *vdev, qdf_nbuf_t nbuf_list,
|
||||
struct dp_peer *peer);
|
||||
|
||||
#ifdef RX_DESC_DEBUG_CHECK
|
||||
/**
|
||||
* dp_rx_desc_paddr_sanity_check() - paddr sanity for ring desc vs rx_desc
|
||||
* @rx_desc: rx descriptor
|
||||
* @ring_paddr: paddr obatined from the ring
|
||||
*
|
||||
* Returns: QDF_STATUS
|
||||
*/
|
||||
static inline
|
||||
bool dp_rx_desc_paddr_sanity_check(struct dp_rx_desc *rx_desc,
|
||||
uint64_t ring_paddr)
|
||||
{
|
||||
return (ring_paddr == qdf_nbuf_get_frag_paddr(rx_desc->nbuf, 0));
|
||||
}
|
||||
|
||||
/*
|
||||
* dp_rx_desc_alloc_dbg_info() - Alloc memory for rx descriptor debug
|
||||
* structure
|
||||
@@ -775,6 +789,13 @@ void dp_rx_desc_update_dbg_info(struct dp_rx_desc *rx_desc,
|
||||
}
|
||||
#else
|
||||
|
||||
static inline
|
||||
bool dp_rx_desc_paddr_sanity_check(struct dp_rx_desc *rx_desc,
|
||||
uint64_t ring_paddr)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
static inline
|
||||
void dp_rx_desc_alloc_dbg_info(struct dp_rx_desc *rx_desc)
|
||||
{
|
||||
|
Referens i nytt ärende
Block a user