1 From 815a7141c4d1b11610dccb7fcbb38633759824f2 Mon Sep 17 00:00:00 2001
2 From: Johan Hovold <johan@kernel.org>
3 Date: Tue, 1 Nov 2016 16:26:01 +0100
4 Subject: powerpc/ibmebus: Fix further device reference leaks
6 From: Johan Hovold <johan@kernel.org>
8 commit 815a7141c4d1b11610dccb7fcbb38633759824f2 upstream.
10 Make sure to drop any reference taken by bus_find_device() when creating
11 devices during init and driver registration.
13 Fixes: 55347cc9962f ("[POWERPC] ibmebus: Add device creation and bus probing based on of_device")
14 Signed-off-by: Johan Hovold <johan@kernel.org>
15 Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
16 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
19 arch/powerpc/kernel/ibmebus.c | 8 ++++++--
20 1 file changed, 6 insertions(+), 2 deletions(-)
22 --- a/arch/powerpc/kernel/ibmebus.c
23 +++ b/arch/powerpc/kernel/ibmebus.c
24 @@ -180,6 +180,7 @@ static int ibmebus_create_device(struct
25 static int ibmebus_create_devices(const struct of_device_id *matches)
27 struct device_node *root, *child;
31 root = of_find_node_by_path("/");
32 @@ -188,9 +189,12 @@ static int ibmebus_create_devices(const
33 if (!of_match_node(matches, child))
36 - if (bus_find_device(&ibmebus_bus_type, NULL, child,
37 - ibmebus_match_node))
38 + dev = bus_find_device(&ibmebus_bus_type, NULL, child,
39 + ibmebus_match_node);
45 ret = ibmebus_create_device(child);