]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
6.1-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 22 Oct 2023 13:45:03 +0000 (15:45 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 22 Oct 2023 13:45:03 +0000 (15:45 +0200)
added patches:
net-devlink-move-netdev-notifier-block-to-dest-namespace-during-reload.patch
serial-8250-omap-convert-to-modern-pm-ops.patch
serial-8250-omap-move-uart_write-inside-pm-section.patch

queue-6.1/net-devlink-move-netdev-notifier-block-to-dest-namespace-during-reload.patch [new file with mode: 0644]
queue-6.1/serial-8250-omap-convert-to-modern-pm-ops.patch [new file with mode: 0644]
queue-6.1/serial-8250-omap-move-uart_write-inside-pm-section.patch [new file with mode: 0644]
queue-6.1/series

diff --git a/queue-6.1/net-devlink-move-netdev-notifier-block-to-dest-namespace-during-reload.patch b/queue-6.1/net-devlink-move-netdev-notifier-block-to-dest-namespace-during-reload.patch
new file mode 100644 (file)
index 0000000..76bbb7c
--- /dev/null
@@ -0,0 +1,42 @@
+From 15feb56e30efea95992f5c572cee753db205eb7b Mon Sep 17 00:00:00 2001
+From: Jiri Pirko <jiri@nvidia.com>
+Date: Tue, 8 Nov 2022 14:22:07 +0100
+Subject: net: devlink: move netdev notifier block to dest namespace during reload
+
+From: Jiri Pirko <jiri@nvidia.com>
+
+commit 15feb56e30efea95992f5c572cee753db205eb7b upstream.
+
+The notifier block tracking netdev changes in devlink is registered
+during devlink_alloc() per-net, it is then unregistered
+in devlink_free(). When devlink moves from net namespace to another one,
+the notifier block needs to move along.
+
+Fix this by adding forgotten call to move the block.
+
+Reported-by: Ido Schimmel <idosch@idosch.org>
+Fixes: 02a68a47eade ("net: devlink: track netdev with devlink_port assigned")
+Reviewed-by: Ido Schimmel <idosch@nvidia.com>
+Tested-by: Ido Schimmel <idosch@nvidia.com>
+Signed-off-by: Jiri Pirko <jiri@nvidia.com>
+Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ net/devlink/leftover.c |    5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- a/net/devlink/leftover.c
++++ b/net/devlink/leftover.c
+@@ -4507,8 +4507,11 @@ static int devlink_reload(struct devlink
+       if (err)
+               return err;
+-      if (dest_net && !net_eq(dest_net, curr_net))
++      if (dest_net && !net_eq(dest_net, curr_net)) {
++              move_netdevice_notifier_net(curr_net, dest_net,
++                                          &devlink->netdevice_nb);
+               write_pnet(&devlink->_net, dest_net);
++      }
+       err = devlink->ops->reload_up(devlink, action, limit, actions_performed, extack);
+       devlink_reload_failed_set(devlink, !!err);
diff --git a/queue-6.1/serial-8250-omap-convert-to-modern-pm-ops.patch b/queue-6.1/serial-8250-omap-convert-to-modern-pm-ops.patch
new file mode 100644 (file)
index 0000000..5f82523
--- /dev/null
@@ -0,0 +1,80 @@
+From ae62c49c0ceff20dc7c1fad4a5b8f91d64b4f628 Mon Sep 17 00:00:00 2001
+From: Arnd Bergmann <arnd@arndb.de>
+Date: Wed, 17 May 2023 22:20:07 +0200
+Subject: serial: 8250: omap: convert to modern PM ops
+
+From: Arnd Bergmann <arnd@arndb.de>
+
+commit ae62c49c0ceff20dc7c1fad4a5b8f91d64b4f628 upstream.
+
+The new uart_write() function is only called from suspend/resume code, causing
+a build warning when those are left out:
+
+drivers/tty/serial/8250/8250_omap.c:169:13: error: 'uart_write' defined but not used [-Werror=unused-function]
+
+Remove the #ifdefs and use the modern pm_ops/pm_sleep_ops and their wrappers
+to let the compiler see where it's used but still drop the dead code.
+
+Fixes: 398cecc24846 ("serial: 8250: omap: Fix imprecise external abort for omap_8250_pm()")
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Reviewed-by: Tony Lindgren <tony@atomide.com>
+Link: https://lore.kernel.org/r/20230517202012.634386-1-arnd@kernel.org
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/tty/serial/8250/8250_omap.c |   17 +++++------------
+ 1 file changed, 5 insertions(+), 12 deletions(-)
+
+--- a/drivers/tty/serial/8250/8250_omap.c
++++ b/drivers/tty/serial/8250/8250_omap.c
+@@ -1487,7 +1487,6 @@ static int omap8250_remove(struct platfo
+       return 0;
+ }
+-#ifdef CONFIG_PM_SLEEP
+ static int omap8250_prepare(struct device *dev)
+ {
+       struct omap8250_priv *priv = dev_get_drvdata(dev);
+@@ -1547,12 +1546,7 @@ static int omap8250_resume(struct device
+       return 0;
+ }
+-#else
+-#define omap8250_prepare NULL
+-#define omap8250_complete NULL
+-#endif
+-#ifdef CONFIG_PM
+ static int omap8250_lost_context(struct uart_8250_port *up)
+ {
+       u32 val;
+@@ -1664,7 +1658,6 @@ static int omap8250_runtime_resume(struc
+       schedule_work(&priv->qos_work);
+       return 0;
+ }
+-#endif
+ #ifdef CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP
+ static int __init omap8250_console_fixup(void)
+@@ -1707,17 +1700,17 @@ console_initcall(omap8250_console_fixup)
+ #endif
+ static const struct dev_pm_ops omap8250_dev_pm_ops = {
+-      SET_SYSTEM_SLEEP_PM_OPS(omap8250_suspend, omap8250_resume)
+-      SET_RUNTIME_PM_OPS(omap8250_runtime_suspend,
++      SYSTEM_SLEEP_PM_OPS(omap8250_suspend, omap8250_resume)
++      RUNTIME_PM_OPS(omap8250_runtime_suspend,
+                          omap8250_runtime_resume, NULL)
+-      .prepare        = omap8250_prepare,
+-      .complete       = omap8250_complete,
++      .prepare        = pm_sleep_ptr(omap8250_prepare),
++      .complete       = pm_sleep_ptr(omap8250_complete),
+ };
+ static struct platform_driver omap8250_platform_driver = {
+       .driver = {
+               .name           = "omap8250",
+-              .pm             = &omap8250_dev_pm_ops,
++              .pm             = pm_ptr(&omap8250_dev_pm_ops),
+               .of_match_table = omap8250_dt_ids,
+       },
+       .probe                  = omap8250_probe,
diff --git a/queue-6.1/serial-8250-omap-move-uart_write-inside-pm-section.patch b/queue-6.1/serial-8250-omap-move-uart_write-inside-pm-section.patch
new file mode 100644 (file)
index 0000000..dcc4df3
--- /dev/null
@@ -0,0 +1,58 @@
+From c53aab20762255ee03e65dd66b3cba3887ad39d1 Mon Sep 17 00:00:00 2001
+From: Geert Uytterhoeven <geert@linux-m68k.org>
+Date: Mon, 15 May 2023 08:57:06 +0200
+Subject: serial: 8250: omap: Move uart_write() inside PM section
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Geert Uytterhoeven <geert@linux-m68k.org>
+
+commit c53aab20762255ee03e65dd66b3cba3887ad39d1 upstream.
+
+If CONFIG_PM is not set (e.g. m68k/allmodconfig):
+
+    drivers/tty/serial/8250/8250_omap.c:169:13: error: ‘uart_write’ defined but not used [-Werror=unused-function]
+      169 | static void uart_write(struct omap8250_priv *priv, u32 reg, u32 val)
+         |             ^~~~~~~~~~
+
+Fix tis by moving uart_write() inside the existing section protected
+by #ifdef CONFIG_PM.
+
+Reported-by: noreply@ellerman.id.au
+Link: http://kisskb.ellerman.id.au/kisskb/buildresult/14925095/
+Fixes: 398cecc24846e867 ("serial: 8250: omap: Fix imprecise external abort for omap_8250_pm()")
+Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
+Reviewed-by: Tony Lindgren <tony@atomide.com>
+Link: https://lore.kernel.org/r/20230515065706.1723477-1-geert@linux-m68k.org
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/tty/serial/8250/8250_omap.c |   10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+--- a/drivers/tty/serial/8250/8250_omap.c
++++ b/drivers/tty/serial/8250/8250_omap.c
+@@ -159,11 +159,6 @@ static u32 uart_read(struct omap8250_pri
+       return readl(priv->membase + (reg << OMAP_UART_REGSHIFT));
+ }
+-static void uart_write(struct omap8250_priv *priv, u32 reg, u32 val)
+-{
+-      writel(val, priv->membase + (reg << OMAP_UART_REGSHIFT));
+-}
+-
+ /*
+  * Called on runtime PM resume path from omap8250_restore_regs(), and
+  * omap8250_set_mctrl().
+@@ -1573,6 +1568,11 @@ static int omap8250_lost_context(struct
+       return 0;
+ }
++static void uart_write(struct omap8250_priv *priv, u32 reg, u32 val)
++{
++      writel(val, priv->membase + (reg << OMAP_UART_REGSHIFT));
++}
++
+ /* TODO: in future, this should happen via API in drivers/reset/ */
+ static int omap8250_soft_reset(struct device *dev)
+ {
index a6247e928dcc9c5c724b3d8a64fb077dc32de97c..92c0b01be4ca0c6328a449ffdef46bbc06b1a9e2 100644 (file)
@@ -197,3 +197,6 @@ asoc-pxa-fix-a-memory-leak-in-probe.patch
 drm-bridge-ti-sn65dsi86-associate-dsi-device-lifetim.patch
 drm-panel-move-aux-b116xw03-out-of-panel-edp-back-to.patch
 net-make-sure-we-never-create-ifindex-0.patch
+net-devlink-move-netdev-notifier-block-to-dest-namespace-during-reload.patch
+serial-8250-omap-move-uart_write-inside-pm-section.patch
+serial-8250-omap-convert-to-modern-pm-ops.patch