diff options
author | Geert Uytterhoeven <geert+renesas@glider.be> | 2015-03-03 11:02:15 +0100 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2015-03-25 16:53:27 +1100 |
commit | 8f910fd0d9d234764e89cb770940df2ece851e71 (patch) | |
tree | 12484df45b71c4cea3d623e5fdaa510a5faf4cce /arch/powerpc/platforms/powermac | |
parent | 4b7d8358819da84b1272cdae29ace4680254a104 (diff) | |
download | op-kernel-dev-8f910fd0d9d234764e89cb770940df2ece851e71.zip op-kernel-dev-8f910fd0d9d234764e89cb770940df2ece851e71.tar.gz |
powerpc/pmac: Fix DT refcount imbalance in pmac_pic_probe_oldstyle
Internally, of_find_node_by_name() calls of_node_put() on its "from"
parameter, which must not be done on "master", as it's still in use, and
will be released manually later. This may cause a zero kref refcount.
Call of_node_get() before to compensate for this.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/platforms/powermac')
-rw-r--r-- | arch/powerpc/platforms/powermac/pic.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/powermac/pic.c b/arch/powerpc/platforms/powermac/pic.c index 4c24bf6..59cfc9d 100644 --- a/arch/powerpc/platforms/powermac/pic.c +++ b/arch/powerpc/platforms/powermac/pic.c @@ -321,6 +321,9 @@ static void __init pmac_pic_probe_oldstyle(void) max_irqs = max_real_irqs = 64; /* We might have a second cascaded heathrow */ + + /* Compensate for of_node_put() in of_find_node_by_name() */ + of_node_get(master); slave = of_find_node_by_name(master, "mac-io"); /* Check ordering of master & slave */ |