[ACPI] acpi_remove_notify_handler() on video driver unload
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. Signed-off-by: Karol Kozimor <sziwan@hell.org.pl> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
e92310a930
commit
031ec77bf6
1 changed files with 7 additions and 0 deletions
|
@ -1665,6 +1665,7 @@ static int
|
|||
acpi_video_bus_put_one_device(
|
||||
struct acpi_video_device *device)
|
||||
{
|
||||
acpi_status status;
|
||||
struct acpi_video_bus *video;
|
||||
|
||||
ACPI_FUNCTION_TRACE("acpi_video_bus_put_one_device");
|
||||
|
@ -1679,6 +1680,12 @@ acpi_video_bus_put_one_device(
|
|||
up(&video->sem);
|
||||
acpi_video_device_remove_fs(device->dev);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue