From: Toshi Kani Date: Thu, 7 Feb 2013 21:19:13 +0000 (+0000) Subject: ACPI: Unbind ACPI drv when probe failed X-Git-Tag: firefly_0821_release~3680^2~1034^2~1^2~9 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=5f27ee8e1261e47ec2e9dbebf17e87e55f568d75;p=firefly-linux-kernel-4.4.55.git ACPI: Unbind ACPI drv when probe failed When acpi_device_install_notify_handler() failed in acpi_device_probe(), it calls acpi_drv->ops.remove() and fails the probe. However, the ACPI driver is left bound to the acpi_device. Fix it by clearing the driver and driver_data fields. Signed-off-by: Toshi Kani Signed-off-by: Rafael J. Wysocki --- diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index 95547efcffe0..bf6e2c26f52d 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c @@ -627,6 +627,8 @@ static int acpi_device_probe(struct device * dev) if (ret) { if (acpi_drv->ops.remove) acpi_drv->ops.remove(acpi_dev); + acpi_dev->driver = NULL; + acpi_dev->driver_data = NULL; return ret; } }