]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.18-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 21 Feb 2018 11:44:21 +0000 (12:44 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 21 Feb 2018 11:44:21 +0000 (12:44 +0100)
added patches:
arm-dts-s5pv210-add-interrupt-parent-for-ohci.patch
media-r820t-fix-r820t_write_reg-for-kasan.patch

queue-3.18/arm-dts-s5pv210-add-interrupt-parent-for-ohci.patch [new file with mode: 0644]
queue-3.18/media-r820t-fix-r820t_write_reg-for-kasan.patch [new file with mode: 0644]
queue-3.18/series

diff --git a/queue-3.18/arm-dts-s5pv210-add-interrupt-parent-for-ohci.patch b/queue-3.18/arm-dts-s5pv210-add-interrupt-parent-for-ohci.patch
new file mode 100644 (file)
index 0000000..b4c2126
--- /dev/null
@@ -0,0 +1,41 @@
+From 5c1037196b9ee75897c211972de370ed1336ec8f Mon Sep 17 00:00:00 2001
+From: Arnd Bergmann <arnd@arndb.de>
+Date: Wed, 10 Jan 2018 17:10:11 +0100
+Subject: ARM: dts: s5pv210: add interrupt-parent for ohci
+
+From: Arnd Bergmann <arnd@arndb.de>
+
+commit 5c1037196b9ee75897c211972de370ed1336ec8f upstream.
+
+The ohci-hcd node has an interrupt number but no interrupt-parent,
+leading to a warning with current dtc versions:
+
+arch/arm/boot/dts/s5pv210-aquila.dtb: Warning (interrupts_property): Missing interrupt-parent for /soc/ohci@ec300000
+arch/arm/boot/dts/s5pv210-goni.dtb: Warning (interrupts_property): Missing interrupt-parent for /soc/ohci@ec300000
+arch/arm/boot/dts/s5pv210-smdkc110.dtb: Warning (interrupts_property): Missing interrupt-parent for /soc/ohci@ec300000
+arch/arm/boot/dts/s5pv210-smdkv210.dtb: Warning (interrupts_property): Missing interrupt-parent for /soc/ohci@ec300000
+arch/arm/boot/dts/s5pv210-torbreck.dtb: Warning (interrupts_property): Missing interrupt-parent for /soc/ohci@ec300000
+
+As seen from the related exynos dts files, the ohci and ehci controllers
+always share one interrupt number, and the number is the same here as
+well, so setting the same interrupt-parent is the reasonable solution
+here.
+
+Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/s5pv210.dtsi |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/arm/boot/dts/s5pv210.dtsi
++++ b/arch/arm/boot/dts/s5pv210.dtsi
+@@ -461,6 +461,7 @@
+                       compatible = "samsung,exynos4210-ohci";
+                       reg = <0xec300000 0x100>;
+                       interrupts = <23>;
++                      interrupt-parent = <&vic1>;
+                       clocks = <&clocks CLK_USB_HOST>;
+                       clock-names = "usbhost";
+                       #address-cells = <1>;
diff --git a/queue-3.18/media-r820t-fix-r820t_write_reg-for-kasan.patch b/queue-3.18/media-r820t-fix-r820t_write_reg-for-kasan.patch
new file mode 100644 (file)
index 0000000..8840c7b
--- /dev/null
@@ -0,0 +1,68 @@
+From 16c3ada89cff9a8c2a0eea34ffa1aa20af3f6008 Mon Sep 17 00:00:00 2001
+From: Arnd Bergmann <arnd@arndb.de>
+Date: Thu, 30 Nov 2017 06:08:05 -0500
+Subject: media: r820t: fix r820t_write_reg for KASAN
+
+From: Arnd Bergmann <arnd@arndb.de>
+
+commit 16c3ada89cff9a8c2a0eea34ffa1aa20af3f6008 upstream.
+
+With CONFIG_KASAN, we get an overly long stack frame due to inlining
+the register access functions:
+
+drivers/media/tuners/r820t.c: In function 'generic_set_freq.isra.7':
+drivers/media/tuners/r820t.c:1334:1: error: the frame size of 2880 bytes is larger than 2048 bytes [-Werror=frame-larger-than=]
+
+This is caused by a gcc bug that has now been fixed in gcc-8.
+To work around the problem, we can pass the register data
+through a local variable that older gcc versions can optimize
+out as well.
+
+Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81715
+
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/media/tuners/r820t.c |   13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+--- a/drivers/media/tuners/r820t.c
++++ b/drivers/media/tuners/r820t.c
+@@ -410,9 +410,11 @@ static int r820t_write(struct r820t_priv
+       return 0;
+ }
+-static int r820t_write_reg(struct r820t_priv *priv, u8 reg, u8 val)
++static inline int r820t_write_reg(struct r820t_priv *priv, u8 reg, u8 val)
+ {
+-      return r820t_write(priv, reg, &val, 1);
++      u8 tmp = val; /* work around GCC PR81715 with asan-stack=1 */
++
++      return r820t_write(priv, reg, &tmp, 1);
+ }
+ static int r820t_read_cache_reg(struct r820t_priv *priv, int reg)
+@@ -425,17 +427,18 @@ static int r820t_read_cache_reg(struct r
+               return -EINVAL;
+ }
+-static int r820t_write_reg_mask(struct r820t_priv *priv, u8 reg, u8 val,
++static inline int r820t_write_reg_mask(struct r820t_priv *priv, u8 reg, u8 val,
+                               u8 bit_mask)
+ {
++      u8 tmp = val;
+       int rc = r820t_read_cache_reg(priv, reg);
+       if (rc < 0)
+               return rc;
+-      val = (rc & ~bit_mask) | (val & bit_mask);
++      tmp = (rc & ~bit_mask) | (tmp & bit_mask);
+-      return r820t_write(priv, reg, &val, 1);
++      return r820t_write(priv, reg, &tmp, 1);
+ }
+ static int r820t_read(struct r820t_priv *priv, u8 reg, u8 *val, int len)
index c4e6ee49cc132a7d27c9a738a4aa3aed98d79387..ca502ed5623e208e94c3f6a87fe853988aed276a 100644 (file)
@@ -13,3 +13,5 @@ console-dummy-leave-.con_font_get-set-to-null.patch
 btrfs-fix-deadlock-in-run_delalloc_nocow.patch
 btrfs-fix-crash-due-to-not-cleaning-up-tree-log-block-s-dirty-bits.patch
 alsa-seq-fix-racy-pool-initializations.patch
+arm-dts-s5pv210-add-interrupt-parent-for-ohci.patch
+media-r820t-fix-r820t_write_reg-for-kasan.patch