OSDN Git Service

led: core: Use atomic bit-field for the blink-flags
authorHans de Goede <hdegoede@redhat.com>
Tue, 8 Nov 2016 13:38:46 +0000 (14:38 +0100)
committerJacek Anaszewski <j.anaszewski@samsung.com>
Tue, 22 Nov 2016 11:07:05 +0000 (12:07 +0100)
commita9c6ce57ec2f136d08141e8220a0ffaca216f7b0
treef7a577053e7c3453ae8939d87b903dde4754b2e7
parent8338eab50ffb3399a938d723f9605383ed9f8473
led: core: Use atomic bit-field for the blink-flags

All the LED_BLINK* flags are accessed read-modify-write from e.g.
led_set_brightness and led_blink_set_oneshot while both
set_brightness_work and the blink_timer may be running.

If these race then the modify step done by one of them may be lost,
switch the LED_BLINK* flags to a new atomic work_flags bit-field
to avoid this race.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
drivers/leds/led-class.c
drivers/leds/led-core.c
include/linux/leds.h