On Wed, 3 Sep 2014, Dylan Alex Simon wrote: > I think that did the trick. I've run through the whole cycle about 20 times > in various conditions, and it seems solid so far. Thanks! Thanks. I actually think that the minimal necessary fix is below. Could you please do a (hopefully last) round of testing with just this patch applied? diff --git a/drivers/hid/hid-thingm.c b/drivers/hid/hid-thingm.c index 134be89..c1d21fa 100644 --- a/drivers/hid/hid-thingm.c +++ b/drivers/hid/hid-thingm.c @@ -208,10 +208,10 @@ unregister_red: static void thingm_remove_rgb(struct thingm_rgb *rgb) { - flush_work(&rgb->work); led_classdev_unregister(&rgb->red.ldev); led_classdev_unregister(&rgb->green.ldev); led_classdev_unregister(&rgb->blue.ldev); + flush_work(&rgb->work); } static int thingm_probe(struct hid_device *hdev, const struct hid_device_id *id) -- Jiri Kosina SUSE Labs -- 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