aboutsummaryrefslogtreecommitdiffstats
path: root/queue-6.7/i2c-i801-fix-using-mux_pdev-before-it-s-set.patch
diff options
context:
space:
mode:
Diffstat (limited to 'queue-6.7/i2c-i801-fix-using-mux_pdev-before-it-s-set.patch')
-rw-r--r--queue-6.7/i2c-i801-fix-using-mux_pdev-before-it-s-set.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/queue-6.7/i2c-i801-fix-using-mux_pdev-before-it-s-set.patch b/queue-6.7/i2c-i801-fix-using-mux_pdev-before-it-s-set.patch
new file mode 100644
index 0000000000..28a5698d57
--- /dev/null
+++ b/queue-6.7/i2c-i801-fix-using-mux_pdev-before-it-s-set.patch
@@ -0,0 +1,37 @@
+From 09f02902eb9cd41d4b88f4a5b93696297b57a3b0 Mon Sep 17 00:00:00 2001
+From: Heiner Kallweit <hkallweit1@gmail.com>
+Date: Sun, 3 Mar 2024 11:45:22 +0100
+Subject: i2c: i801: Fix using mux_pdev before it's set
+
+From: Heiner Kallweit <hkallweit1@gmail.com>
+
+commit 09f02902eb9cd41d4b88f4a5b93696297b57a3b0 upstream.
+
+i801_probe_optional_slaves() is called before i801_add_mux().
+This results in mux_pdev being checked before it's set by
+i801_add_mux(). Fix this by changing the order of the calls.
+I consider this safe as I see no dependencies.
+
+Fixes: 80e56b86b59e ("i2c: i801: Simplify class-based client device instantiation")
+Cc: stable@vger.kernel.org
+Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
+Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
+Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/i2c/busses/i2c-i801.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/i2c/busses/i2c-i801.c
++++ b/drivers/i2c/busses/i2c-i801.c
+@@ -1740,9 +1740,9 @@ static int i801_probe(struct pci_dev *de
+
+ i801_enable_host_notify(&priv->adapter);
+
+- i801_probe_optional_slaves(priv);
+ /* We ignore errors - multiplexing is optional */
+ i801_add_mux(priv);
++ i801_probe_optional_slaves(priv);
+
+ pci_set_drvdata(dev, priv);
+