diff options
Diffstat (limited to 'drivers/acpi/bay.c')
| -rw-r--r-- | drivers/acpi/bay.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/drivers/acpi/bay.c b/drivers/acpi/bay.c index d2fc94161848..26038c2a2a71 100644 --- a/drivers/acpi/bay.c +++ b/drivers/acpi/bay.c | |||
| @@ -301,16 +301,20 @@ static int bay_add(acpi_handle handle, int id) | |||
| 301 | */ | 301 | */ |
| 302 | pdev->dev.uevent_suppress = 0; | 302 | pdev->dev.uevent_suppress = 0; |
| 303 | 303 | ||
| 304 | if (acpi_bay_add_fs(new_bay)) { | ||
| 305 | platform_device_unregister(new_bay->pdev); | ||
| 306 | goto bay_add_err; | ||
| 307 | } | ||
| 308 | |||
| 309 | /* register for events on this device */ | 304 | /* register for events on this device */ |
| 310 | status = acpi_install_notify_handler(handle, ACPI_SYSTEM_NOTIFY, | 305 | status = acpi_install_notify_handler(handle, ACPI_SYSTEM_NOTIFY, |
| 311 | bay_notify, new_bay); | 306 | bay_notify, new_bay); |
| 312 | if (ACPI_FAILURE(status)) { | 307 | if (ACPI_FAILURE(status)) { |
| 313 | printk(KERN_ERR PREFIX "Error installing bay notify handler\n"); | 308 | printk(KERN_INFO PREFIX "Error installing bay notify handler\n"); |
| 309 | platform_device_unregister(new_bay->pdev); | ||
| 310 | goto bay_add_err; | ||
| 311 | } | ||
| 312 | |||
| 313 | if (acpi_bay_add_fs(new_bay)) { | ||
| 314 | acpi_remove_notify_handler(handle, ACPI_SYSTEM_NOTIFY, | ||
| 315 | bay_notify); | ||
| 316 | platform_device_unregister(new_bay->pdev); | ||
| 317 | goto bay_add_err; | ||
| 314 | } | 318 | } |
| 315 | 319 | ||
| 316 | /* if we are on a dock station, we should register for dock | 320 | /* if we are on a dock station, we should register for dock |
