Re: [PATCH 2/2] Input: atmel_mxt_ts - fix double free of input device
flat view
From: Nick Dyer <hidden>
Date: 2014-09-10 14:31:58
Also in:
lkml
On 10/09/14 00:49, Dmitry Torokhov wrote:
On Tue, Sep 09, 2014 at 03:50:49PM +0100, nick.dyer@itdev.co.uk wrote:quoted
From: Stephen Warren <redacted> [reworked after comments by Dmitry Torokhov. Move free of input device into separate function. Only call in paths that require it. Move mxt_initialize after sysfs init, because otherwise an error in the sysfs init may interfere with the async return from the firmware loader. Add guards for sysfs functions. ]Ugh... there is still problem with asycn firmware loading: you need to make sure it is done before you try to unbind the dveice. I also do not see what stops several firmware update requests to happen simultaneously. Once you add proper handling for that you can use the same lock in sysfs read methods.
Yes, I see what you mean. I will try and straighten it out.
Another option is wait a bit and see what's the outcome of async probing discussion on LKML is and maybe we can stop using request_firmware_nowait() in probe path but rather have device core fire off probe asynchronously. I'd rather have fix for input device freeing be separate from sysfs/firmware/config loading changes.
I agree, it is better to fix the common issue with a straightforward patch. I have split it apart and will send this patch now.