Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 031ec77b authored by Karol Kozimor's avatar Karol Kozimor Committed by Len Brown
Browse files

[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: default avatarKarol Kozimor <sziwan@hell.org.pl>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent e92310a9
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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);
}