mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-11 07:03:09 -04:00
Merge "soc: qcom: qmi: Remove txn idr entry in qmi handle release"
This commit is contained in:
commit
270e085d20
1 changed files with 8 additions and 1 deletions
|
|
@ -347,8 +347,12 @@ int qmi_txn_wait(struct qmi_txn *txn, unsigned long timeout)
|
|||
|
||||
ret = wait_for_completion_timeout(&txn->completion, timeout);
|
||||
|
||||
if (txn->result == -ENETRESET)
|
||||
mutex_lock(&txn->lock);
|
||||
if (txn->result == -ENETRESET) {
|
||||
mutex_unlock(&txn->lock);
|
||||
return txn->result;
|
||||
}
|
||||
mutex_unlock(&txn->lock);
|
||||
|
||||
mutex_lock(&qmi->txn_lock);
|
||||
mutex_lock(&txn->lock);
|
||||
|
|
@ -712,8 +716,11 @@ void qmi_handle_release(struct qmi_handle *qmi)
|
|||
|
||||
mutex_lock(&qmi->txn_lock);
|
||||
idr_for_each_entry(&qmi->txns, txn, txn_id) {
|
||||
mutex_lock(&txn->lock);
|
||||
idr_remove(&qmi->txns, txn->id);
|
||||
txn->result = -ENETRESET;
|
||||
complete(&txn->completion);
|
||||
mutex_unlock(&txn->lock);
|
||||
}
|
||||
mutex_unlock(&qmi->txn_lock);
|
||||
idr_destroy(&qmi->txns);
|
||||
|
|
|
|||
Loading…
Reference in a new issue