On 04/17/2013 12:30 PM, Oliver Neukum wrote: > On Wednesday 17 April 2013 11:03:09 Benjamin Tissoires wrote: > >> +static void appleir_remove(struct hid_device *hid) >> +{ >> + struct appleir *appleir = hid_get_drvdata(hid); >> + del_timer_sync(&appleir->key_up_timer); >> + hid_hw_stop(hid); >> + kfree(appleir); >> +} > > Hi, > > this looks like a race condition. If you get input between > del_timer_sync() and hid_hw_stop() the timer may be restarted. > You need to stop the hw first. > ouch. Thanks for spotting this. Will send a v3 soon. Cheers, Benjamin -- 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