]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Fixes for 4.19
authorSasha Levin <sashal@kernel.org>
Sun, 18 Sep 2022 23:17:51 +0000 (19:17 -0400)
committerSasha Levin <sashal@kernel.org>
Sun, 18 Sep 2022 23:17:51 +0000 (19:17 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-4.19/drm-meson-correct-osd1-global-alpha-value.patch [new file with mode: 0644]
queue-4.19/gpio-mpc8xxx-fix-support-for-irq_type_level_low-flow.patch [new file with mode: 0644]
queue-4.19/of-fdt-fix-off-by-one-error-in-unflatten_dt_nodes.patch [new file with mode: 0644]
queue-4.19/series

diff --git a/queue-4.19/drm-meson-correct-osd1-global-alpha-value.patch b/queue-4.19/drm-meson-correct-osd1-global-alpha-value.patch
new file mode 100644 (file)
index 0000000..f950189
--- /dev/null
@@ -0,0 +1,40 @@
+From 0e369de2c7b1ef569fd85b881e5299860ddf416f Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Thu, 8 Sep 2022 16:51:03 +0100
+Subject: drm/meson: Correct OSD1 global alpha value
+
+From: Stuart Menefy <stuart.menefy@mathembedded.com>
+
+[ Upstream commit 6836829c8ea453c9e3e518e61539e35881c8ed5f ]
+
+VIU_OSD1_CTRL_STAT.GLOBAL_ALPHA is a 9 bit field, so the maximum
+value is 0x100 not 0xff.
+
+This matches the vendor kernel.
+
+Signed-off-by: Stuart Menefy <stuart.menefy@mathembedded.com>
+Fixes: bbbe775ec5b5 ("drm: Add support for Amlogic Meson Graphic Controller")
+Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
+Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
+Link: https://patchwork.freedesktop.org/patch/msgid/20220908155103.686904-1-stuart.menefy@mathembedded.com
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/gpu/drm/meson/meson_plane.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/meson/meson_plane.c b/drivers/gpu/drm/meson/meson_plane.c
+index c7daae53fa1f..26ff2dc56419 100644
+--- a/drivers/gpu/drm/meson/meson_plane.c
++++ b/drivers/gpu/drm/meson/meson_plane.c
+@@ -101,7 +101,7 @@ static void meson_plane_atomic_update(struct drm_plane *plane,
+       /* Enable OSD and BLK0, set max global alpha */
+       priv->viu.osd1_ctrl_stat = OSD_ENABLE |
+-                                 (0xFF << OSD_GLOBAL_ALPHA_SHIFT) |
++                                 (0x100 << OSD_GLOBAL_ALPHA_SHIFT) |
+                                  OSD_BLK0_ENABLE;
+       /* Set up BLK0 to point to the right canvas */
+-- 
+2.35.1
+
diff --git a/queue-4.19/gpio-mpc8xxx-fix-support-for-irq_type_level_low-flow.patch b/queue-4.19/gpio-mpc8xxx-fix-support-for-irq_type_level_low-flow.patch
new file mode 100644 (file)
index 0000000..e1c4aa4
--- /dev/null
@@ -0,0 +1,48 @@
+From 1ab1d96aead014336703902c9c5d3679da158592 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 6 Sep 2022 12:54:31 +0200
+Subject: gpio: mpc8xxx: Fix support for IRQ_TYPE_LEVEL_LOW flow_type in
+ mpc85xx
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Pali Rohár <pali@kernel.org>
+
+[ Upstream commit 279c12df8d2efb28def9d037f288cbfb97c30fe2 ]
+
+Commit e39d5ef67804 ("powerpc/5xxx: extend mpc8xxx_gpio driver to support
+mpc512x gpios") implemented support for IRQ_TYPE_LEVEL_LOW flow type in
+mpc512x via falling edge type. Do same for mpc85xx which support was added
+in commit 345e5c8a1cc3 ("powerpc: Add interrupt support to mpc8xxx_gpio").
+
+Fixes probing of lm90 hwmon driver on mpc85xx based board which use level
+interrupt. Without it kernel prints error and refuse lm90 to work:
+
+    [   15.258370] genirq: Setting trigger mode 8 for irq 49 failed (mpc8xxx_irq_set_type+0x0/0xf8)
+    [   15.267168] lm90 0-004c: cannot request IRQ 49
+    [   15.272708] lm90: probe of 0-004c failed with error -22
+
+Fixes: 345e5c8a1cc3 ("powerpc: Add interrupt support to mpc8xxx_gpio")
+Signed-off-by: Pali Rohár <pali@kernel.org>
+Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/gpio/gpio-mpc8xxx.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/gpio/gpio-mpc8xxx.c b/drivers/gpio/gpio-mpc8xxx.c
+index 1899d172590b..546f8c453add 100644
+--- a/drivers/gpio/gpio-mpc8xxx.c
++++ b/drivers/gpio/gpio-mpc8xxx.c
+@@ -168,6 +168,7 @@ static int mpc8xxx_irq_set_type(struct irq_data *d, unsigned int flow_type)
+       switch (flow_type) {
+       case IRQ_TYPE_EDGE_FALLING:
++      case IRQ_TYPE_LEVEL_LOW:
+               raw_spin_lock_irqsave(&mpc8xxx_gc->lock, flags);
+               gc->write_reg(mpc8xxx_gc->regs + GPIO_ICR,
+                       gc->read_reg(mpc8xxx_gc->regs + GPIO_ICR)
+-- 
+2.35.1
+
diff --git a/queue-4.19/of-fdt-fix-off-by-one-error-in-unflatten_dt_nodes.patch b/queue-4.19/of-fdt-fix-off-by-one-error-in-unflatten_dt_nodes.patch
new file mode 100644 (file)
index 0000000..c2b90af
--- /dev/null
@@ -0,0 +1,41 @@
+From 77701ccea5ea1203cc261920287f9458b34c81a5 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Sat, 13 Aug 2022 23:34:16 +0300
+Subject: of: fdt: fix off-by-one error in unflatten_dt_nodes()
+
+From: Sergey Shtylyov <s.shtylyov@omp.ru>
+
+[ Upstream commit 2f945a792f67815abca26fa8a5e863ccf3fa1181 ]
+
+Commit 78c44d910d3e ("drivers/of: Fix depth when unflattening devicetree")
+forgot to fix up the depth check in the loop body in unflatten_dt_nodes()
+which makes it possible to overflow the nps[] buffer...
+
+Found by Linux Verification Center (linuxtesting.org) with the SVACE static
+analysis tool.
+
+Fixes: 78c44d910d3e ("drivers/of: Fix depth when unflattening devicetree")
+Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
+Signed-off-by: Rob Herring <robh@kernel.org>
+Link: https://lore.kernel.org/r/7c354554-006f-6b31-c195-cdfe4caee392@omp.ru
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/of/fdt.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
+index 9fecac72c358..7c284ca0212c 100644
+--- a/drivers/of/fdt.c
++++ b/drivers/of/fdt.c
+@@ -392,7 +392,7 @@ static int unflatten_dt_nodes(const void *blob,
+       for (offset = 0;
+            offset >= 0 && depth >= initial_depth;
+            offset = fdt_next_node(blob, offset, &depth)) {
+-              if (WARN_ON_ONCE(depth >= FDT_MAX_DEPTH))
++              if (WARN_ON_ONCE(depth >= FDT_MAX_DEPTH - 1))
+                       continue;
+               if (!IS_ENABLED(CONFIG_OF_KOBJ) &&
+-- 
+2.35.1
+
index 660f0bcbf2f10bf9d682ca9e9d8ffea7771041ae..d3572d8120114a88449c68fa30bb56f7d8f69917 100644 (file)
@@ -9,3 +9,6 @@ usb-storage-add-asus-0x0b05-0x1932-to-ignore_uas.patch
 mm-fix-tlb-flush-for-not-first-pfnmap-mappings-in-unmap_region.patch
 net-dp83822-disable-rx-error-interrupt.patch
 tracefs-only-clobber-mode-uid-gid-on-remount-if-asked.patch
+of-fdt-fix-off-by-one-error-in-unflatten_dt_nodes.patch
+gpio-mpc8xxx-fix-support-for-irq_type_level_low-flow.patch
+drm-meson-correct-osd1-global-alpha-value.patch