lkml.org 
[lkml]   [2018]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.16 187/254] Input: twl6040-vibra - fix DT node memory management
    3.16.55-rc1 review patch.  If anyone has any objections, please let me know.

    ------------------

    From: "H. Nikolaus Schaller" <hns@goldelico.com>

    commit c52c545ead97fcc2f4f8ea38f1ae3c23211e09a8 upstream.

    commit e7ec014a47e4 ("Input: twl6040-vibra - update for device tree support")

    made the separate vibra DT node to a subnode of the twl6040.

    It now calls of_find_node_by_name() to locate the "vibra" subnode.
    This function has a side effect to call of_node_put on() for the twl6040
    parent node passed in as a parameter. This causes trouble later on.

    Solution: we must call of_node_get() before of_find_node_by_name()

    Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    drivers/input/misc/twl6040-vibra.c | 1 +
    1 file changed, 1 insertion(+)

    --- a/drivers/input/misc/twl6040-vibra.c
    +++ b/drivers/input/misc/twl6040-vibra.c
    @@ -264,6 +264,7 @@ static int twl6040_vibra_probe(struct pl
    int vddvibr_uV = 0;
    int error;

    + of_node_get(twl6040_core_dev->of_node);
    twl6040_core_node = of_find_node_by_name(twl6040_core_dev->of_node,
    "vibra");
    if (!twl6040_core_node) {
    \
     
     \ /
      Last update: 2018-02-28 17:49    [W:2.371 / U:0.540 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site