All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/1] slimbus: fixes for 6.9
@ 2024-04-30  9:12 srinivas.kandagatla
  2024-04-30  9:12 ` [PATCH 1/1] slimbus: qcom-ngd-ctrl: Add timeout for wait operation srinivas.kandagatla
  0 siblings, 1 reply; 2+ messages in thread
From: srinivas.kandagatla @ 2024-04-30  9:12 UTC (permalink / raw
  To: gregkh; +Cc: linux-kernel, Srinivas Kandagatla

From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>

Hi Greg,

Here is a fix in slimbus that can go to next possible rc.

Could you please queue this one for 6.9

thanks,
Srini

Viken Dadhaniya (1):
  slimbus: qcom-ngd-ctrl: Add timeout for wait operation

 drivers/slimbus/qcom-ngd-ctrl.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

-- 
2.25.1


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

* [PATCH 1/1] slimbus: qcom-ngd-ctrl: Add timeout for wait operation
  2024-04-30  9:12 [PATCH 0/1] slimbus: fixes for 6.9 srinivas.kandagatla
@ 2024-04-30  9:12 ` srinivas.kandagatla
  0 siblings, 0 replies; 2+ messages in thread
From: srinivas.kandagatla @ 2024-04-30  9:12 UTC (permalink / raw
  To: gregkh
  Cc: linux-kernel, Viken Dadhaniya, stable, Konrad Dybcio,
	Srinivas Kandagatla

From: Viken Dadhaniya <quic_vdadhani@quicinc.com>

In current driver qcom_slim_ngd_up_worker() indefinitely
waiting for ctrl->qmi_up completion object. This is
resulting in workqueue lockup on Kthread.

Added wait_for_completion_interruptible_timeout to
allow the thread to wait for specific timeout period and
bail out instead waiting infinitely.

Fixes: a899d324863a ("slimbus: qcom-ngd-ctrl: add Sub System Restart support")
Cc: stable@vger.kernel.org
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Viken Dadhaniya <quic_vdadhani@quicinc.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
 drivers/slimbus/qcom-ngd-ctrl.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/slimbus/qcom-ngd-ctrl.c b/drivers/slimbus/qcom-ngd-ctrl.c
index efeba8275a66..a09a26bf4988 100644
--- a/drivers/slimbus/qcom-ngd-ctrl.c
+++ b/drivers/slimbus/qcom-ngd-ctrl.c
@@ -1451,7 +1451,11 @@ static void qcom_slim_ngd_up_worker(struct work_struct *work)
 	ctrl = container_of(work, struct qcom_slim_ngd_ctrl, ngd_up_work);
 
 	/* Make sure qmi service is up before continuing */
-	wait_for_completion_interruptible(&ctrl->qmi_up);
+	if (!wait_for_completion_interruptible_timeout(&ctrl->qmi_up,
+						       msecs_to_jiffies(MSEC_PER_SEC))) {
+		dev_err(ctrl->dev, "QMI wait timeout\n");
+		return;
+	}
 
 	mutex_lock(&ctrl->ssr_lock);
 	qcom_slim_ngd_enable(ctrl, true);
-- 
2.25.1


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

end of thread, other threads:[~2024-04-30  9:12 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-30  9:12 [PATCH 0/1] slimbus: fixes for 6.9 srinivas.kandagatla
2024-04-30  9:12 ` [PATCH 1/1] slimbus: qcom-ngd-ctrl: Add timeout for wait operation srinivas.kandagatla

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.