Re: [PATCH] fujitsu-laptop: driver [un]registration fixes

Dmitry Torokhov
2009-12-21T18:03:25Z

Hi Bartlomiej,

On Wed, Jul 29, 2009 at 10:15:33PM +0200, Bartlomiej Zolnierkiewicz wrote:
> @@ -722,22 +722,22 @@ static int acpi_fujitsu_add(struct acpi_
>
> return result;
>
> -end:
> +err_unregister_input_dev:
> + input_unregister_device(input);
> err_free_input_dev:
> input_free_device(input);
> err_stop:

Just noticed it scanning ACPI list. You must not use input_free_device()
after calling input_unregister_device() since unregister likely drops the
last reference to the device and it will get freed by input core.

For polled input devices you need to use both unregister and free though
because polled device structure is not refcounted (but underlying input device
is).

Thanks.

--
Dmitry