Re: [PATCH v4] rfkill: Add rfkill-any LED trigger
From: Michał Kępień <hidden>
Date: 2017-01-06 19:20:41
Also in:
lkml, netdev
On Fri, 2017-01-06 at 07:07 +0100, Michał Kępień wrote:quoted
Add a new "global" (i.e. not per-rfkill device) LED trigger, rfkill- any, which may be useful on laptops with a single "radio LED" and multiple radio transmitters. The trigger is meant to turn a LED on whenever there is at least one radio transmitter active and turn it off otherwise. Signed-off-by: Michał Kępień <redacted> --- Changes from v3: - Revert introducing a new bitfield and instead defer LED event firing to a work queue to prevent conditional locking and ensure the trigger can really be used from any context. This also voids the need to take rfkill_global_mutex before calling rfkill_set_block() in rfkill_resume().Looks better, butquoted
+static struct work_struct rfkill_any_work;At least on module exit you need to cancel this work.
It is cancelled in rfkill_any_led_trigger_unregister(). It seemed fitting to do it this way as rfkill_any_work is initialized in rfkill_any_led_trigger_register(). And if CONFIG_RFKILL_LEDS=n, rfkill_any_work is neither initialized nor scheduled, so we should be good as well. Am I missing something? -- Best regards, Michał Kępień