qcacmn: Increase timeout from 30s to 60s for freeing tx desc
Tx completions can be received after 30seconds, this is causing race condition as there is a forceful freeing of tx descriptors after 30seconds. This race condition corrupted tx desc pool's freelist pointer which contains list of all free tx descriptors. Increasing the threshold from 30seconds to 60seconds. Display id for which tx descriptor is freed. Change-Id: I5e0c78283747028de558f9c5db99f7089ffb7e97 CRs-Fixed: 3322566
This commit is contained in:

committed by
Madan Koyyalamudi

parent
a8f77e6e3f
commit
b74658cb00
@@ -14107,7 +14107,7 @@ void dp_flush_ring_hptp(struct dp_soc *soc, hal_ring_handle_t hal_srng)
|
||||
|
||||
#ifdef DP_TX_TRACKING
|
||||
|
||||
#define DP_TX_COMP_MAX_LATENCY_MS 30000
|
||||
#define DP_TX_COMP_MAX_LATENCY_MS 60000
|
||||
/**
|
||||
* dp_tx_comp_delay_check() - calculate time latency for tx completion per pkt
|
||||
* @tx_desc: tx descriptor
|
||||
@@ -14195,13 +14195,14 @@ static void dp_find_missing_tx_comp(struct dp_soc *soc)
|
||||
tx_desc->id);
|
||||
if (tx_desc->vdev_id == DP_INVALID_VDEV_ID) {
|
||||
tx_desc->flags |= DP_TX_DESC_FLAG_FLUSH;
|
||||
dp_err_rl("Freed tx_desc %u",
|
||||
tx_desc->id);
|
||||
dp_tx_comp_free_buf(soc,
|
||||
tx_desc,
|
||||
false);
|
||||
dp_tx_desc_release(tx_desc, i);
|
||||
DP_STATS_INC(soc,
|
||||
tx.tx_comp_force_freed, 1);
|
||||
dp_err_rl("Tx completion force freed");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user