opp: Don't decrement uninitialized list_kref
authorViresh Kumar <viresh.kumar@linaro.org>
Wed, 3 Jul 2019 09:33:14 +0000 (15:03 +0530)
committerViresh Kumar <viresh.kumar@linaro.org>
Fri, 26 Jul 2019 07:55:52 +0000 (13:25 +0530)
commit11e1a1648298656722fe206a53e555e2e98668ae
tree09baf01360b13b1cc995c8620b0b5c51af52bc5d
parent71419d84c216cee8da3b19fb843b4242f112cde4
opp: Don't decrement uninitialized list_kref

The list_kref was added for static OPPs and to track their users. The
kref is initialized while the static OPPs are added, but removed
unconditionally even if the static OPPs were never added. This causes
refcount mismatch warnings currently.

Fix that by always initializing the kref when the OPP table is first
initialized. The refcount is later incremented only for the second user
onwards.

Fixes: d0e8ae6c26da ("OPP: Create separate kref for static OPPs list")
Reported-by: Rajendra Nayak <rnayak@codeaurora.org>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
drivers/opp/core.c
drivers/opp/of.c