aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohan Hovold <johan@kernel.org>2018-01-08 20:17:48 -0500
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2018-01-08 20:40:55 -0500
commitdcaf12a8b0bbdbfcfa2be8dff2c4948d9844b4ad (patch)
tree604d544d6281b0054e3f3577e0b903e361c1be1e
parent5b189201993ab03001a398de731045bfea90c689 (diff)
Input: twl6040-vibra - fix child-node lookup
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. Later sanity checks on node properties (which would likely be missing) should prevent this from causing much trouble however, especially as the original premature free of the parent node has already been fixed separately (but that "fix" was apparently never backported to stable). Fixes: e7ec014a47e4 ("Input: twl6040-vibra - update for device tree support") Fixes: c52c545ead97 ("Input: twl6040-vibra - fix DT node memory management") Cc: stable <stable@vger.kernel.org> # 3.6 Signed-off-by: Johan Hovold <johan@kernel.org> Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Tested-by: H. Nikolaus Schaller <hns@goldelico.com> (on Pyra OMAP5 hardware) Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-rw-r--r--drivers/input/misc/twl6040-vibra.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/input/misc/twl6040-vibra.c b/drivers/input/misc/twl6040-vibra.c
index 5690eb7ff954..15e0d352c4cc 100644
--- a/drivers/input/misc/twl6040-vibra.c
+++ b/drivers/input/misc/twl6040-vibra.c
@@ -248,8 +248,7 @@ static int twl6040_vibra_probe(struct platform_device *pdev)
248 int vddvibr_uV = 0; 248 int vddvibr_uV = 0;
249 int error; 249 int error;
250 250
251 of_node_get(twl6040_core_dev->of_node); 251 twl6040_core_node = of_get_child_by_name(twl6040_core_dev->of_node,
252 twl6040_core_node = of_find_node_by_name(twl6040_core_dev->of_node,
253 "vibra"); 252 "vibra");
254 if (!twl6040_core_node) { 253 if (!twl6040_core_node) {
255 dev_err(&pdev->dev, "parent of node is missing?\n"); 254 dev_err(&pdev->dev, "parent of node is missing?\n");