]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
clk: ti: dra7-atl-clock: fix child-node lookups
authorJohan Hovold <johan@kernel.org>
Sat, 11 Nov 2017 16:29:29 +0000 (17:29 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 30 Nov 2017 08:35:52 +0000 (08:35 +0000)
commit 33ec6dbc5a02677509d97fe36cd2105753f0f0ea upstream.

Fix child node-lookup during probe, which ended up searching the whole
device tree depth-first starting at parent rather than just matching on
its children.

Note that the original premature free of the parent node has already
been fixed separately, but that fix was apparently never backported to
stable.

Fixes: 9ac33b0ce81f ("CLK: TI: Driver for DRA7 ATL (Audio Tracking Logic)")
Fixes: 660e15519399 ("clk: ti: dra7-atl-clock: Fix of_node reference counting")
Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/clk/ti/clk-dra7-atl.c

index dd980c84dab7856f91aec96faa997cc2ee10e429..d41b83239a3c12db2876d58cec0be7cc1ec0669e 100644 (file)
@@ -259,8 +259,7 @@ static int of_dra7_atl_clk_probe(struct platform_device *pdev)
 
                /* Get configuration for the ATL instances */
                snprintf(prop, sizeof(prop), "atl%u", i);
-               of_node_get(node);
-               cfg_node = of_find_node_by_name(node, prop);
+               cfg_node = of_get_child_by_name(node, prop);
                if (cfg_node) {
                        ret = of_property_read_u32(cfg_node, "bws",
                                                   &cdesc->bws);