leds: trig-netdev: Disable offload on deactivation of trigger
authorAndrew Lunn <andrew@lunn.ch>
Tue, 8 Aug 2023 21:04:36 +0000 (23:04 +0200)
committerJakub Kicinski <kuba@kernel.org>
Fri, 11 Aug 2023 00:35:00 +0000 (17:35 -0700)
Ensure that the offloading of blinking is stopped when the trigger is
deactivated. Calling led_set_brightness() is documented as stopping
offload and setting the LED to a constant brightness.

Suggested-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Tested-by: Daniel Golle <daniel@makrotopia.org>
Link: https://lore.kernel.org/r/20230808210436.838995-5-andrew@lunn.ch
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/leds/trigger/ledtrig-netdev.c

index 3d215a5..42f7588 100644 (file)
@@ -595,6 +595,8 @@ static void netdev_trig_deactivate(struct led_classdev *led_cdev)
 
        cancel_delayed_work_sync(&trigger_data->work);
 
+       led_set_brightness(led_cdev, LED_OFF);
+
        dev_put(trigger_data->net_dev);
 
        kfree(trigger_data);