diff options
Diffstat (limited to 'drivers/acpi')
| -rw-r--r-- | drivers/acpi/container.c | 5 | ||||
| -rw-r--r-- | drivers/acpi/dock.c | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/drivers/acpi/container.c b/drivers/acpi/container.c index 0b6ae6eb5c4a..368f9ddb8480 100644 --- a/drivers/acpi/container.c +++ b/drivers/acpi/container.c | |||
| @@ -79,9 +79,10 @@ static int container_device_attach(struct acpi_device *adev, | |||
| 79 | ACPI_COMPANION_SET(dev, adev); | 79 | ACPI_COMPANION_SET(dev, adev); |
| 80 | dev->release = acpi_container_release; | 80 | dev->release = acpi_container_release; |
| 81 | ret = device_register(dev); | 81 | ret = device_register(dev); |
| 82 | if (ret) | 82 | if (ret) { |
| 83 | put_device(dev); | ||
| 83 | return ret; | 84 | return ret; |
| 84 | 85 | } | |
| 85 | adev->driver_data = dev; | 86 | adev->driver_data = dev; |
| 86 | return 1; | 87 | return 1; |
| 87 | } | 88 | } |
diff --git a/drivers/acpi/dock.c b/drivers/acpi/dock.c index c431c88faaff..e9b3081c4fe9 100644 --- a/drivers/acpi/dock.c +++ b/drivers/acpi/dock.c | |||
| @@ -609,7 +609,7 @@ static int handle_eject_request(struct dock_station *ds, u32 event) | |||
| 609 | static void dock_notify(struct dock_station *ds, u32 event) | 609 | static void dock_notify(struct dock_station *ds, u32 event) |
| 610 | { | 610 | { |
| 611 | acpi_handle handle = ds->handle; | 611 | acpi_handle handle = ds->handle; |
| 612 | struct acpi_device *ad; | 612 | struct acpi_device *adev = NULL; |
| 613 | int surprise_removal = 0; | 613 | int surprise_removal = 0; |
| 614 | 614 | ||
| 615 | /* | 615 | /* |
| @@ -632,7 +632,8 @@ static void dock_notify(struct dock_station *ds, u32 event) | |||
| 632 | switch (event) { | 632 | switch (event) { |
| 633 | case ACPI_NOTIFY_BUS_CHECK: | 633 | case ACPI_NOTIFY_BUS_CHECK: |
| 634 | case ACPI_NOTIFY_DEVICE_CHECK: | 634 | case ACPI_NOTIFY_DEVICE_CHECK: |
| 635 | if (!dock_in_progress(ds) && acpi_bus_get_device(handle, &ad)) { | 635 | acpi_bus_get_device(handle, &adev); |
| 636 | if (!dock_in_progress(ds) && !acpi_device_enumerated(adev)) { | ||
| 636 | begin_dock(ds); | 637 | begin_dock(ds); |
| 637 | dock(ds); | 638 | dock(ds); |
| 638 | if (!dock_present(ds)) { | 639 | if (!dock_present(ds)) { |
