]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.15-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 13 May 2024 14:14:34 +0000 (16:14 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 13 May 2024 14:14:34 +0000 (16:14 +0200)
added patches:
dyndbg-fix-old-bug_on-in-control-parser.patch
mei-me-add-lunar-lake-point-m-did.patch
slimbus-qcom-ngd-ctrl-add-timeout-for-wait-operation.patch

queue-5.15/dyndbg-fix-old-bug_on-in-control-parser.patch [new file with mode: 0644]
queue-5.15/mei-me-add-lunar-lake-point-m-did.patch [new file with mode: 0644]
queue-5.15/series
queue-5.15/slimbus-qcom-ngd-ctrl-add-timeout-for-wait-operation.patch [new file with mode: 0644]

diff --git a/queue-5.15/dyndbg-fix-old-bug_on-in-control-parser.patch b/queue-5.15/dyndbg-fix-old-bug_on-in-control-parser.patch
new file mode 100644 (file)
index 0000000..918af6c
--- /dev/null
@@ -0,0 +1,36 @@
+From 00e7d3bea2ce7dac7bee1cf501fb071fd0ea8f6c Mon Sep 17 00:00:00 2001
+From: Jim Cromie <jim.cromie@gmail.com>
+Date: Mon, 29 Apr 2024 13:31:11 -0600
+Subject: dyndbg: fix old BUG_ON in >control parser
+
+From: Jim Cromie <jim.cromie@gmail.com>
+
+commit 00e7d3bea2ce7dac7bee1cf501fb071fd0ea8f6c upstream.
+
+Fix a BUG_ON from 2009.  Even if it looks "unreachable" (I didn't
+really look), lets make sure by removing it, doing pr_err and return
+-EINVAL instead.
+
+Cc: stable <stable@kernel.org>
+Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
+Link: https://lore.kernel.org/r/20240429193145.66543-2-jim.cromie@gmail.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ lib/dynamic_debug.c |    6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+--- a/lib/dynamic_debug.c
++++ b/lib/dynamic_debug.c
+@@ -260,7 +260,11 @@ static int ddebug_tokenize(char *buf, ch
+               } else {
+                       for (end = buf; *end && !isspace(*end); end++)
+                               ;
+-                      BUG_ON(end == buf);
++                      if (end == buf) {
++                              pr_err("parse err after word:%d=%s\n", nwords,
++                                     nwords ? words[nwords - 1] : "<none>");
++                              return -EINVAL;
++                      }
+               }
+               /* `buf' is start of word, `end' is one past its end */
diff --git a/queue-5.15/mei-me-add-lunar-lake-point-m-did.patch b/queue-5.15/mei-me-add-lunar-lake-point-m-did.patch
new file mode 100644 (file)
index 0000000..2ef28a8
--- /dev/null
@@ -0,0 +1,43 @@
+From 4108a30f1097eead0f6bd5d885e6bf093b4d460f Mon Sep 17 00:00:00 2001
+From: Alexander Usyskin <alexander.usyskin@intel.com>
+Date: Sun, 21 Apr 2024 16:56:31 +0300
+Subject: mei: me: add lunar lake point M DID
+
+From: Alexander Usyskin <alexander.usyskin@intel.com>
+
+commit 4108a30f1097eead0f6bd5d885e6bf093b4d460f upstream.
+
+Add Lunar (Point) Lake M device id.
+
+Cc: stable@vger.kernel.org
+Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>
+Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
+Link: https://lore.kernel.org/r/20240421135631.223362-1-tomas.winkler@intel.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/misc/mei/hw-me-regs.h |    2 ++
+ drivers/misc/mei/pci-me.c     |    2 ++
+ 2 files changed, 4 insertions(+)
+
+--- a/drivers/misc/mei/hw-me-regs.h
++++ b/drivers/misc/mei/hw-me-regs.h
+@@ -115,6 +115,8 @@
+ #define MEI_DEV_ID_ARL_S      0x7F68  /* Arrow Lake Point S */
+ #define MEI_DEV_ID_ARL_H      0x7770  /* Arrow Lake Point H */
++#define MEI_DEV_ID_LNL_M      0xA870  /* Lunar Lake Point M */
++
+ /*
+  * MEI HW Section
+  */
+--- a/drivers/misc/mei/pci-me.c
++++ b/drivers/misc/mei/pci-me.c
+@@ -121,6 +121,8 @@ static const struct pci_device_id mei_me
+       {MEI_PCI_DEVICE(MEI_DEV_ID_ARL_S, MEI_ME_PCH15_CFG)},
+       {MEI_PCI_DEVICE(MEI_DEV_ID_ARL_H, MEI_ME_PCH15_CFG)},
++      {MEI_PCI_DEVICE(MEI_DEV_ID_LNL_M, MEI_ME_PCH15_CFG)},
++
+       /* required last entry */
+       {0, }
+ };
index 7d5973af6d16aaa0b84b6065e7ec855d3cb6a13e..f0b1bc98dbee910f2eeab1c3ca5c04ecb2f3994f 100644 (file)
@@ -162,3 +162,6 @@ tipc-fix-uaf-in-error-path.patch
 net-bcmgenet-synchronize-use-of-bcmgenet_set_rx_mode.patch
 asoc-tegra-fix-dspk-16-bit-playback.patch
 asoc-ti-davinci-mcasp-fix-race-condition-during-probe.patch
+dyndbg-fix-old-bug_on-in-control-parser.patch
+slimbus-qcom-ngd-ctrl-add-timeout-for-wait-operation.patch
+mei-me-add-lunar-lake-point-m-did.patch
diff --git a/queue-5.15/slimbus-qcom-ngd-ctrl-add-timeout-for-wait-operation.patch b/queue-5.15/slimbus-qcom-ngd-ctrl-add-timeout-for-wait-operation.patch
new file mode 100644 (file)
index 0000000..ecdb35d
--- /dev/null
@@ -0,0 +1,43 @@
+From 98241a774db49988f25b7b3657026ce51ccec293 Mon Sep 17 00:00:00 2001
+From: Viken Dadhaniya <quic_vdadhani@quicinc.com>
+Date: Tue, 30 Apr 2024 10:12:38 +0100
+Subject: slimbus: qcom-ngd-ctrl: Add timeout for wait operation
+
+From: Viken Dadhaniya <quic_vdadhani@quicinc.com>
+
+commit 98241a774db49988f25b7b3657026ce51ccec293 upstream.
+
+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>
+Link: https://lore.kernel.org/r/20240430091238.35209-2-srinivas.kandagatla@linaro.org
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/slimbus/qcom-ngd-ctrl.c |    6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+--- a/drivers/slimbus/qcom-ngd-ctrl.c
++++ b/drivers/slimbus/qcom-ngd-ctrl.c
+@@ -1376,7 +1376,11 @@ static void qcom_slim_ngd_up_worker(stru
+       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);