Message ID | 20181120154617.20903-1-tiny.windzz@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] cpuidle: big.LITTLE: add of_node_put() | expand |
On Tue, Nov 20, 2018 at 4:46 PM Yangtao Li <tiny.windzz@gmail.com> wrote: > > The of_node_put() is missing.So we call the of_node_put() to release > the refcount. I would say "of_find_node_by_path() acquires a reference to the node returned by it and that reference needs to be dropped by its caller. bl_idle_init() doesn't do that, so fix it." Thanks, Rafael
On Wed, Nov 21, 2018 at 12:06 AM Rafael J. Wysocki <rafael@kernel.org> wrote: > > On Tue, Nov 20, 2018 at 4:46 PM Yangtao Li <tiny.windzz@gmail.com> wrote: > > > > The of_node_put() is missing.So we call the of_node_put() to release > > the refcount. > > I would say "of_find_node_by_path() acquires a reference to the node > returned by it and that reference needs to be dropped by its caller. > bl_idle_init() doesn't do that, so fix it." > > Thanks, > Rafael Hi Rafael: You are right, I will change it right away. Yours, Yangtao
diff --git a/drivers/cpuidle/cpuidle-big_little.c b/drivers/cpuidle/cpuidle-big_little.c index db2ede565f1a..650f063ef809 100644 --- a/drivers/cpuidle/cpuidle-big_little.c +++ b/drivers/cpuidle/cpuidle-big_little.c @@ -174,8 +174,12 @@ static int __init bl_idle_init(void) /* * Initialize the driver just for a compliant set of machines */ - if (!of_match_node(compatible_machine_match, root)) + if (!of_match_node(compatible_machine_match, root)){ + of_node_put(root); return -ENODEV; + } + + of_node_put(root); if (!mcpm_is_available()) return -EUNATCH;
The of_node_put() is missing.So we call the of_node_put() to release the refcount. Signed-off-by: Yangtao Li <tiny.windzz@gmail.com> --- Changes in v2 -update changelog -do that right after its last use to also cover error handling. --- drivers/cpuidle/cpuidle-big_little.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)