On Tue, Sep 09, 2014 at 03:50:49PM +0100, nick.dyer@xxxxxxxxxxx wrote: > From: Stephen Warren <swarren@xxxxxxxxxxxxx> > > [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. 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. Thanks. -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html