diff mbox

[2/2] clk: ti: dra7-atl-clock: fix child-node lookups

Message ID 20171111162929.11722-2-johan@kernel.org (mailing list archive)
State Accepted, archived
Headers show

Commit Message

Johan Hovold Nov. 11, 2017, 4:29 p.m. UTC
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: stable <stable@vger.kernel.org>     # 3.16: 660e15519399
Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
---
 drivers/clk/ti/clk-dra7-atl.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Peter Ujfalusi Nov. 13, 2017, 8:15 p.m. UTC | #1
On 11/11/2017 06:29 PM, Johan Hovold wrote:
> 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.

Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>

> 
> Fixes: 9ac33b0ce81f ("CLK: TI: Driver for DRA7 ATL (Audio Tracking Logic)")
> Fixes: 660e15519399 ("clk: ti: dra7-atl-clock: Fix of_node reference counting")
> Cc: stable <stable@vger.kernel.org>     # 3.16: 660e15519399
> Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
> Signed-off-by: Johan Hovold <johan@kernel.org>
> ---
>  drivers/clk/ti/clk-dra7-atl.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/clk/ti/clk-dra7-atl.c b/drivers/clk/ti/clk-dra7-atl.c
> index 13eb04f72389..148815470431 100644
> --- a/drivers/clk/ti/clk-dra7-atl.c
> +++ b/drivers/clk/ti/clk-dra7-atl.c
> @@ -274,8 +274,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);
>
Stephen Boyd Nov. 14, 2017, 11:53 p.m. UTC | #2
On 11/11, Johan Hovold wrote:
> 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: stable <stable@vger.kernel.org>     # 3.16: 660e15519399
> Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
> Signed-off-by: Johan Hovold <johan@kernel.org>
> ---

Applied to clk-next
diff mbox

Patch

diff --git a/drivers/clk/ti/clk-dra7-atl.c b/drivers/clk/ti/clk-dra7-atl.c
index 13eb04f72389..148815470431 100644
--- a/drivers/clk/ti/clk-dra7-atl.c
+++ b/drivers/clk/ti/clk-dra7-atl.c
@@ -274,8 +274,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);