Re: [PATCH] soc: qcom: qmi: Change txn wait to non-interruptible
From: Bjorn Andersson
Date: Wed Mar 06 2019 - 19:14:57 EST
On Thu 21 Feb 18:33 PST 2019, Chris Lew wrote:
> Current QMI clients are not userspace facing, if their threads are
> signaled, they do not do any signal checking or propagate the
> ERESTARTSYS return code up. Remove the interruptible option so clients
> can finish their QMI transactions even if the thread is signaled.
>
> Signed-off-by: Chris Lew <clew@xxxxxxxxxxxxxx>
Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
Regards,
Bjorn
> ---
> drivers/soc/qcom/qmi_interface.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/soc/qcom/qmi_interface.c b/drivers/soc/qcom/qmi_interface.c
> index c239a28e503f..f9e309f0acd3 100644
> --- a/drivers/soc/qcom/qmi_interface.c
> +++ b/drivers/soc/qcom/qmi_interface.c
> @@ -345,8 +345,7 @@ int qmi_txn_wait(struct qmi_txn *txn, unsigned long timeout)
> struct qmi_handle *qmi = txn->qmi;
> int ret;
>
> - ret = wait_for_completion_interruptible_timeout(&txn->completion,
> - timeout);
> + ret = wait_for_completion_timeout(&txn->completion, timeout);
>
> mutex_lock(&qmi->txn_lock);
> mutex_lock(&txn->lock);
> @@ -354,9 +353,7 @@ int qmi_txn_wait(struct qmi_txn *txn, unsigned long timeout)
> mutex_unlock(&txn->lock);
> mutex_unlock(&qmi->txn_lock);
>
> - if (ret < 0)
> - return ret;
> - else if (ret == 0)
> + if (ret == 0)
> return -ETIMEDOUT;
> else
> return txn->result;
> --
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> a Linux Foundation Collaborative Project
>