linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] soc: qcom: qmi: Change txn wait to non-interruptible
@ 2019-02-22  2:33 Chris Lew
  2019-03-07  0:15 ` Bjorn Andersson
  0 siblings, 1 reply; 2+ messages in thread
From: Chris Lew @ 2019-02-22  2:33 UTC (permalink / raw)
  To: bjorn.andersson, andy.gross, david.brown
  Cc: aneela, linux-arm-msm, linux-kernel, clew

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@codeaurora.org>
---
 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


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] soc: qcom: qmi: Change txn wait to non-interruptible
  2019-02-22  2:33 [PATCH] soc: qcom: qmi: Change txn wait to non-interruptible Chris Lew
@ 2019-03-07  0:15 ` Bjorn Andersson
  0 siblings, 0 replies; 2+ messages in thread
From: Bjorn Andersson @ 2019-03-07  0:15 UTC (permalink / raw)
  To: Chris Lew; +Cc: andy.gross, david.brown, aneela, linux-arm-msm, linux-kernel

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@codeaurora.org>

Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>

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
> 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-03-07  0:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-22  2:33 [PATCH] soc: qcom: qmi: Change txn wait to non-interruptible Chris Lew
2019-03-07  0:15 ` Bjorn Andersson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).