]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 24 Sep 2019 20:35:03 +0000 (22:35 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 24 Sep 2019 20:35:03 +0000 (22:35 +0200)
added patches:
asoc-fsl-fix-of-node-refcount-unbalance-in-fsl_ssi_probe_from_dt.patch

queue-4.4/asoc-fsl-fix-of-node-refcount-unbalance-in-fsl_ssi_probe_from_dt.patch [new file with mode: 0644]
queue-4.4/series

diff --git a/queue-4.4/asoc-fsl-fix-of-node-refcount-unbalance-in-fsl_ssi_probe_from_dt.patch b/queue-4.4/asoc-fsl-fix-of-node-refcount-unbalance-in-fsl_ssi_probe_from_dt.patch
new file mode 100644 (file)
index 0000000..27e2ab9
--- /dev/null
@@ -0,0 +1,47 @@
+From 2757970f6d0d0a112247600b23d38c0c728ceeb3 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Tue, 19 Feb 2019 16:46:47 +0100
+Subject: ASoC: fsl: Fix of-node refcount unbalance in fsl_ssi_probe_from_dt()
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 2757970f6d0d0a112247600b23d38c0c728ceeb3 upstream.
+
+The node obtained from of_find_node_by_path() has to be unreferenced
+after the use, but we forgot it for the root node.
+
+Fixes: f0fba2ad1b6b ("ASoC: multi-component - ASoC Multi-Component Support")
+Cc: Timur Tabi <timur@kernel.org>
+Cc: Nicolin Chen <nicoleotsuka@gmail.com>
+Cc: Xiubo Li <Xiubo.Lee@gmail.com>
+Cc: Fabio Estevam <festevam@gmail.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/soc/fsl/fsl_ssi.c |    5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- a/sound/soc/fsl/fsl_ssi.c
++++ b/sound/soc/fsl/fsl_ssi.c
+@@ -1374,6 +1374,7 @@ static int fsl_ssi_probe(struct platform
+       struct fsl_ssi_private *ssi_private;
+       int ret = 0;
+       struct device_node *np = pdev->dev.of_node;
++      struct device_node *root;
+       const struct of_device_id *of_id;
+       const char *p, *sprop;
+       const uint32_t *iprop;
+@@ -1510,7 +1511,9 @@ static int fsl_ssi_probe(struct platform
+        * device tree.  We also pass the address of the CPU DAI driver
+        * structure.
+        */
+-      sprop = of_get_property(of_find_node_by_path("/"), "compatible", NULL);
++      root = of_find_node_by_path("/");
++      sprop = of_get_property(root, "compatible", NULL);
++      of_node_put(root);
+       /* Sometimes the compatible name has a "fsl," prefix, so we strip it. */
+       p = strrchr(sprop, ',');
+       if (p)
index f0e233f1a13cc03b4a56c5025eedb30189a63ed1..497d5fb0d9d6a4ed2bd7218ebeb248fc9d1a9fbe 100644 (file)
@@ -6,3 +6,4 @@ hid-hidraw-fix-invalid-read-in-hidraw_ioctl.patch
 mtd-cfi_cmdset_0002-use-chip_good-to-retry-in-do_write_oneword.patch
 crypto-talitos-fix-missing-break-in-switch-statement.patch
 net-rds-fix-null-ptr-use-in-rds_tcp_kill_sock.patch
+asoc-fsl-fix-of-node-refcount-unbalance-in-fsl_ssi_probe_from_dt.patch