On Tue, 2014-08-26 at 11:17 +0200, Samuel Thibault wrote: > - led_trigger_event(&vt_led_triggers[led], !!brightness); > + vt_led_state[led] = !!brightness; > + schedule_work(&vt_led_work[led]); > +static int __init input_led_init(void) > +{ > + unsigned i; > + > + for (i = 0; i < LED_CNT; i++) > + INIT_WORK(&vt_led_work[i], vt_led_cb); > + > + return 0; > +} > + > +static void __exit input_led_exit(void) > +{ > +} Come to think of it - don't you need to cancel_work_sync() in exit so the work struct can't be queued while the module is being unloaded? johannes -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html