mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 03:40:35 +09:00
backlight: max8925_bl: Fix Device Tree node lookup
commitd1cc0ec3daupstream. Fix child-node lookup during probe, which ended up searching the whole device tree depth-first starting at the parent rather than just matching on its children. To make things worse, the parent mfd node was also prematurely freed, while the child backlight node was leaked. Cc: stable <stable@vger.kernel.org> # 3.9 Fixes:47ec340cb8("mfd: max8925: Support dt for backlight") Signed-off-by: Johan Hovold <johan@kernel.org> Acked-by: Daniel Thompson <daniel.thompson@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
47f764c65c
commit
a89e596f12
@@ -116,7 +116,7 @@ static void max8925_backlight_dt_init(struct platform_device *pdev)
|
||||
if (!pdata)
|
||||
return;
|
||||
|
||||
np = of_find_node_by_name(nproot, "backlight");
|
||||
np = of_get_child_by_name(nproot, "backlight");
|
||||
if (!np) {
|
||||
dev_err(&pdev->dev, "failed to find backlight node\n");
|
||||
return;
|
||||
@@ -125,6 +125,8 @@ static void max8925_backlight_dt_init(struct platform_device *pdev)
|
||||
if (!of_property_read_u32(np, "maxim,max8925-dual-string", &val))
|
||||
pdata->dual_string = val;
|
||||
|
||||
of_node_put(np);
|
||||
|
||||
pdev->dev.platform_data = pdata;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user