From: Rafael J. Wysocki <[email protected]>

pnpacpi_add_device() calls acpi_bind_one() on an already registered
device, which is a mistake, but it can initialize the ACPI companion
field of the struct device to be registered using ACPI_COMPANION_SET()
instead, so make it do that.

Signed-off-by: Rafael J. Wysocki <[email protected]>
---
 drivers/pnp/pnpacpi/core.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

Index: linux-pm/drivers/pnp/pnpacpi/core.c
===================================================================
--- linux-pm.orig/drivers/pnp/pnpacpi/core.c
+++ linux-pm/drivers/pnp/pnpacpi/core.c
@@ -248,6 +248,7 @@ static int __init pnpacpi_add_device(str
        if (!dev)
                return -ENOMEM;
 
+       ACPI_COMPANION_SET(&dev->dev, device);
        dev->data = device;
        /* .enabled means the device can decode the resources */
        dev->active = device->status.enabled;
@@ -290,11 +291,9 @@ static int __init pnpacpi_add_device(str
                return error;
        }
 
-       error = acpi_bind_one(&dev->dev, device);
-
        num++;
 
-       return error;
+       return 0;
 }
 
 static acpi_status __init pnpacpi_add_device_handler(acpi_handle handle,

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to