qcacmn: Check timestamp before calculating time latency
Race condition is observed when runtime suspend is aborted due to pending tx completions, in this context all tx desc are checked for corruption or leakage. In parallel tx completion is received and descriptor timestamp is set to null. As a result, while checking for leakage in runtime suspend context, time difference for the tx completion is current jiffies which is huge, resulting in triggering recovery. To fix this, tx_desc timestamp is checked before calculating time latency. Also, printing tx descriptor id for which completion is not received. Change-Id: I38b487a47170af374f43c44a96e2a0753f5d57ef CRs-Fixed: 3117549
This commit is contained in:

committed by
Madan Koyyalamudi

parent
c84369425f
commit
bb366620fc
@@ -574,6 +574,7 @@ dp_tx_desc_free(struct dp_soc *soc, struct dp_tx_desc_s *tx_desc,
|
||||
tx_desc->nbuf = NULL;
|
||||
tx_desc->flags = 0;
|
||||
dp_tx_desc_set_magic(tx_desc, DP_TX_MAGIC_PATTERN_FREE);
|
||||
tx_desc->timestamp = 0;
|
||||
dp_tx_put_desc_flow_pool(pool, tx_desc);
|
||||
switch (pool->status) {
|
||||
case FLOW_POOL_ACTIVE_PAUSED:
|
||||
|
Reference in New Issue
Block a user