diff options
Diffstat (limited to 'sys-kernel/thinkpad-sources/files/2.6.25-r1/00-bay-cleanup_exit-for-2.6.25.patch')
-rw-r--r-- | sys-kernel/thinkpad-sources/files/2.6.25-r1/00-bay-cleanup_exit-for-2.6.25.patch | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/sys-kernel/thinkpad-sources/files/2.6.25-r1/00-bay-cleanup_exit-for-2.6.25.patch b/sys-kernel/thinkpad-sources/files/2.6.25-r1/00-bay-cleanup_exit-for-2.6.25.patch deleted file mode 100644 index d8c36a1..0000000 --- a/sys-kernel/thinkpad-sources/files/2.6.25-r1/00-bay-cleanup_exit-for-2.6.25.patch +++ /dev/null @@ -1,41 +0,0 @@ -If acpi_install_notify_handler() for a bay device fails, the bay driver is -superfluous. Most likely, another driver (like libata) is already caring -about this device anyway. Furthermore, -register_hotplug_dock_device(acpi_handle) from the dock driver must not be -called twice with the same handler. This would result in an endless loop -consuming 100% of CPU. So clean up and exit. - -Signed-off-by: Holger Macht <hmacht@suse.de> ---- - -diff --git a/drivers/acpi/bay.c b/drivers/acpi/bay.c -index d2fc941..26038c2 100644 ---- a/drivers/acpi/bay.c -+++ b/drivers/acpi/bay.c -@@ -299,16 +299,20 @@ static int bay_add(acpi_handle handle, int id) - */ - pdev->dev.uevent_suppress = 0; - -- if (acpi_bay_add_fs(new_bay)) { -- platform_device_unregister(new_bay->pdev); -- goto bay_add_err; -- } -- - /* register for events on this device */ - status = acpi_install_notify_handler(handle, ACPI_SYSTEM_NOTIFY, - bay_notify, new_bay); - if (ACPI_FAILURE(status)) { -- printk(KERN_ERR PREFIX "Error installing bay notify handler\n"); -+ printk(KERN_INFO PREFIX "Error installing bay notify handler\n"); -+ platform_device_unregister(new_bay->pdev); -+ goto bay_add_err; -+ } -+ -+ if (acpi_bay_add_fs(new_bay)) { -+ acpi_remove_notify_handler(handle, ACPI_SYSTEM_NOTIFY, -+ bay_notify); -+ platform_device_unregister(new_bay->pdev); -+ goto bay_add_err; - } - - /* if we are on a dock station, we should register for dock |