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