From: Karol Kozimor The video driver doesn't properly remove all the notify handlers on module unload. This has a side effect of subdevices failing to register on module reload, but sudden death looms if the handlers trigger after the module is unloaded (not that I've seen such a machine, but still). Signed-off-by: Karol Kozimor Signed-off-by: Andrew Morton --- drivers/acpi/video.c | 7 +++++++ 1 files changed, 7 insertions(+) diff -puN drivers/acpi/video.c~acpi-videoc-properly-remove-notify-handlers drivers/acpi/video.c --- devel/drivers/acpi/video.c~acpi-videoc-properly-remove-notify-handlers 2005-08-04 23:57:56.000000000 -0700 +++ devel-akpm/drivers/acpi/video.c 2005-08-04 23:57:56.000000000 -0700 @@ -1264,6 +1264,7 @@ static int acpi_video_bus_add_fs(struct static int acpi_video_bus_remove_fs(struct acpi_device *device) { + acpi_status status; struct acpi_video_bus *video; ACPI_FUNCTION_TRACE("acpi_video_bus_remove_fs"); @@ -1280,6 +1281,12 @@ static int acpi_video_bus_remove_fs(stru acpi_device_dir(device) = NULL; } + status = acpi_remove_notify_handler(device->handle, + ACPI_DEVICE_NOTIFY, acpi_video_device_notify); + if (ACPI_FAILURE(status)) + ACPI_DEBUG_PRINT((ACPI_DB_ERROR, + "Error removing notify handler\n")); + return_VALUE(0); } _