slimbus: qcom-ngd-ctrl: Free txn tid in delayed interrupt scenario
When the interrupts are delayed slim_do_transfer returns timeout, but the txn tid is not freed. Due to which later invalid tid is processed in the rx path resulting in crash. Free tid in slim_do_transfer upon timeout due to delayed interrupt to avoid crash. Change-Id: Iae07e5c8366a333f39e57882f9cff240132c457f Signed-off-by: Visweswara Tanuku <quic_vtanuku@quicinc.com>
This commit is contained in:
parent
e60961957c
commit
d7a8f53012
@ -171,6 +171,9 @@ int slim_do_transfer(struct slim_controller *ctrl, struct slim_msg_txn *txn)
|
||||
|
||||
ret = ctrl->xfer_msg(ctrl, txn);
|
||||
|
||||
if (ret == -ETIMEDOUT)
|
||||
slim_free_txn_tid(ctrl, txn);
|
||||
|
||||
if (!ret && need_tid && !txn->msg->comp) {
|
||||
unsigned long ms = txn->rl + HZ;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user