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

From: Dmitry Torokhov
Date: Mon Dec 21 2009 - 13:03:32 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/