Commit ba8a86e4 authored by Uwe Kleine-König's avatar Uwe Kleine-König Committed by Greg Kroah-Hartman
Browse files

leds: trigger/tty: Use led_set_brightness_sync() from workqueue



led_set_brightness() involves scheduling a workqueue. As here the led's
brightness setting is done in context of the trigger's workqueue this is
unjustified overhead and it's more sensible to use
led_set_brightness_sync().

Fixes: fd4a641a ("leds: trigger: implement a tty trigger")
Reported-by: default avatarPavel Machek <pavel@ucw.cz>
Acked-by: default avatarPavel Machek <pavel@ucw.cz>
Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20210219133307.4840-3-u.kleine-koenig@pengutronix.de


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 1487e7ba
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -122,12 +122,12 @@ static void ledtrig_tty_work(struct work_struct *work)

	if (icount.rx != trigger_data->rx ||
	    icount.tx != trigger_data->tx) {
		led_set_brightness(trigger_data->led_cdev, LED_ON);
		led_set_brightness_sync(trigger_data->led_cdev, LED_ON);

		trigger_data->rx = icount.rx;
		trigger_data->tx = icount.tx;
	} else {
		led_set_brightness(trigger_data->led_cdev, LED_OFF);
		led_set_brightness_sync(trigger_data->led_cdev, LED_OFF);
	}

out: