]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Oct 2025 11:04:20 +0000 (13:04 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Oct 2025 11:04:20 +0000 (13:04 +0200)
added patches:
clocksource-drivers-clps711x-fix-resource-leaks-in-error-paths.patch
iio-frequency-adf4350-fix-adf4350_reg3_12bit_clkdiv_mode.patch

queue-5.4/clocksource-drivers-clps711x-fix-resource-leaks-in-error-paths.patch [new file with mode: 0644]
queue-5.4/iio-frequency-adf4350-fix-adf4350_reg3_12bit_clkdiv_mode.patch [new file with mode: 0644]
queue-5.4/series

diff --git a/queue-5.4/clocksource-drivers-clps711x-fix-resource-leaks-in-error-paths.patch b/queue-5.4/clocksource-drivers-clps711x-fix-resource-leaks-in-error-paths.patch
new file mode 100644 (file)
index 0000000..15590d7
--- /dev/null
@@ -0,0 +1,67 @@
+From cd32e596f02fc981674573402c1138f616df1728 Mon Sep 17 00:00:00 2001
+From: Zhen Ni <zhen.ni@easystack.cn>
+Date: Thu, 14 Aug 2025 20:33:24 +0800
+Subject: clocksource/drivers/clps711x: Fix resource leaks in error paths
+
+From: Zhen Ni <zhen.ni@easystack.cn>
+
+commit cd32e596f02fc981674573402c1138f616df1728 upstream.
+
+The current implementation of clps711x_timer_init() has multiple error
+paths that directly return without releasing the base I/O memory mapped
+via of_iomap(). Fix of_iomap leaks in error paths.
+
+Fixes: 04410efbb6bc ("clocksource/drivers/clps711x: Convert init function to return error")
+Fixes: 2a6a8e2d9004 ("clocksource/drivers/clps711x: Remove board support")
+Signed-off-by: Zhen Ni <zhen.ni@easystack.cn>
+Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
+Cc: stable@vger.kernel.org
+Link: https://lore.kernel.org/r/20250814123324.1516495-1-zhen.ni@easystack.cn
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/clocksource/clps711x-timer.c |   23 ++++++++++++++++-------
+ 1 file changed, 16 insertions(+), 7 deletions(-)
+
+--- a/drivers/clocksource/clps711x-timer.c
++++ b/drivers/clocksource/clps711x-timer.c
+@@ -78,24 +78,33 @@ static int __init clps711x_timer_init(st
+       unsigned int irq = irq_of_parse_and_map(np, 0);
+       struct clk *clock = of_clk_get(np, 0);
+       void __iomem *base = of_iomap(np, 0);
++      int ret = 0;
+       if (!base)
+               return -ENOMEM;
+-      if (!irq)
+-              return -EINVAL;
+-      if (IS_ERR(clock))
+-              return PTR_ERR(clock);
++      if (!irq) {
++              ret = -EINVAL;
++              goto unmap_io;
++      }
++      if (IS_ERR(clock)) {
++              ret = PTR_ERR(clock);
++              goto unmap_io;
++      }
+       switch (of_alias_get_id(np, "timer")) {
+       case CLPS711X_CLKSRC_CLOCKSOURCE:
+               clps711x_clksrc_init(clock, base);
+               break;
+       case CLPS711X_CLKSRC_CLOCKEVENT:
+-              return _clps711x_clkevt_init(clock, base, irq);
++              ret =  _clps711x_clkevt_init(clock, base, irq);
++              break;
+       default:
+-              return -EINVAL;
++              ret = -EINVAL;
++              break;
+       }
+-      return 0;
++unmap_io:
++      iounmap(base);
++      return ret;
+ }
+ TIMER_OF_DECLARE(clps711x, "cirrus,ep7209-timer", clps711x_timer_init);
diff --git a/queue-5.4/iio-frequency-adf4350-fix-adf4350_reg3_12bit_clkdiv_mode.patch b/queue-5.4/iio-frequency-adf4350-fix-adf4350_reg3_12bit_clkdiv_mode.patch
new file mode 100644 (file)
index 0000000..f9badfc
--- /dev/null
@@ -0,0 +1,37 @@
+From 1d8fdabe19267338f29b58f968499e5b55e6a3b6 Mon Sep 17 00:00:00 2001
+From: Michael Hennerich <michael.hennerich@analog.com>
+Date: Fri, 29 Aug 2025 12:25:43 +0100
+Subject: iio: frequency: adf4350: Fix ADF4350_REG3_12BIT_CLKDIV_MODE
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Michael Hennerich <michael.hennerich@analog.com>
+
+commit 1d8fdabe19267338f29b58f968499e5b55e6a3b6 upstream.
+
+The clk div bits (2 bits wide) do not start in bit 16 but in bit 15. Fix it
+accordingly.
+
+Fixes: e31166f0fd48 ("iio: frequency: New driver for Analog Devices ADF4350/ADF4351 Wideband Synthesizers")
+Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
+Signed-off-by: Nuno Sá <nuno.sa@analog.com>
+Link: https://patch.msgid.link/20250829-adf4350-fix-v2-2-0bf543ba797d@analog.com
+Cc: <Stable@vger.kernel.org>
+Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ include/linux/iio/frequency/adf4350.h |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/include/linux/iio/frequency/adf4350.h
++++ b/include/linux/iio/frequency/adf4350.h
+@@ -51,7 +51,7 @@
+ /* REG3 Bit Definitions */
+ #define ADF4350_REG3_12BIT_CLKDIV(x)          ((x) << 3)
+-#define ADF4350_REG3_12BIT_CLKDIV_MODE(x)     ((x) << 16)
++#define ADF4350_REG3_12BIT_CLKDIV_MODE(x)     ((x) << 15)
+ #define ADF4350_REG3_12BIT_CSR_EN             (1 << 18)
+ #define ADF4351_REG3_CHARGE_CANCELLATION_EN   (1 << 21)
+ #define ADF4351_REG3_ANTI_BACKLASH_3ns_EN     (1 << 22)
index e621a61772ab363ee14ca378182a9fe075d56cbd..b65d8ddae91bb04b574e425dffbcc0fcaa556aca 100644 (file)
@@ -75,3 +75,5 @@ uio_hv_generic-let-userspace-take-care-of-interrupt-mask.patch
 mm-hugetlb-avoid-soft-lockup-when-mprotect-to-large-memory-area.patch
 input-uinput-zero-initialize-uinput_ff_upload_compat-to-avoid-info-leak.patch
 pinctrl-check-the-return-value-of-pinmux_ops-get_function_name.patch
+clocksource-drivers-clps711x-fix-resource-leaks-in-error-paths.patch
+iio-frequency-adf4350-fix-adf4350_reg3_12bit_clkdiv_mode.patch