qcacmn: replenish used nbuf for DS flows
in case of DS pkts the same pkt which is received in RX path (REO2PPE) can be refilled back to wifi rxdma CRs-Fixed: 3381462 Change-Id: I3762c91110ffcc95162bf068b7a1ed3e41904824
This commit is contained in:

committed by
Madan Koyyalamudi

szülő
55435d303a
commit
ee4fb4380c
@@ -345,6 +345,23 @@ void dp_rx_desc_pool_init(struct dp_soc *soc, uint32_t pool_id,
|
||||
|
||||
qdf_export_symbol(dp_rx_desc_pool_init);
|
||||
|
||||
#ifdef WLAN_SUPPORT_PPEDS
|
||||
static inline
|
||||
qdf_nbuf_t dp_rx_desc_get_nbuf(struct rx_desc_pool *rx_desc_pool, int i)
|
||||
{
|
||||
if (rx_desc_pool->array[i].rx_desc.has_reuse_nbuf)
|
||||
return rx_desc_pool->array[i].rx_desc.reuse_nbuf;
|
||||
else
|
||||
return rx_desc_pool->array[i].rx_desc.nbuf;
|
||||
}
|
||||
#else
|
||||
static inline
|
||||
qdf_nbuf_t dp_rx_desc_get_nbuf(struct rx_desc_pool *rx_desc_pool, int i)
|
||||
{
|
||||
return rx_desc_pool->array[i].rx_desc.nbuf;
|
||||
}
|
||||
#endif
|
||||
|
||||
void dp_rx_desc_nbuf_and_pool_free(struct dp_soc *soc, uint32_t pool_id,
|
||||
struct rx_desc_pool *rx_desc_pool)
|
||||
{
|
||||
@@ -354,7 +371,7 @@ void dp_rx_desc_nbuf_and_pool_free(struct dp_soc *soc, uint32_t pool_id,
|
||||
qdf_spin_lock_bh(&rx_desc_pool->lock);
|
||||
for (i = 0; i < rx_desc_pool->pool_size; i++) {
|
||||
if (rx_desc_pool->array[i].rx_desc.in_use) {
|
||||
nbuf = rx_desc_pool->array[i].rx_desc.nbuf;
|
||||
nbuf = dp_rx_desc_get_nbuf(rx_desc_pool, i);
|
||||
|
||||
if (!(rx_desc_pool->array[i].rx_desc.unmapped)) {
|
||||
dp_rx_nbuf_unmap_pool(soc, rx_desc_pool, nbuf);
|
||||
@@ -379,7 +396,7 @@ void dp_rx_desc_nbuf_free(struct dp_soc *soc,
|
||||
for (i = 0; i < rx_desc_pool->pool_size; i++) {
|
||||
dp_rx_desc_free_dbg_info(&rx_desc_pool->array[i].rx_desc);
|
||||
if (rx_desc_pool->array[i].rx_desc.in_use) {
|
||||
nbuf = rx_desc_pool->array[i].rx_desc.nbuf;
|
||||
nbuf = dp_rx_desc_get_nbuf(rx_desc_pool, i);
|
||||
|
||||
if (!(rx_desc_pool->array[i].rx_desc.unmapped)) {
|
||||
dp_rx_nbuf_unmap_pool(soc, rx_desc_pool, nbuf);
|
||||
|
Reference in New Issue
Block a user