23 lines
669 B
Diff
23 lines
669 B
Diff
diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
|
|
--- a/drivers/hwmon/applesmc.c
|
|
+++ b/drivers/hwmon/applesmc.c
|
|
@@ -1252,12 +1252,17 @@ static void applesmc_release_light_sensor(void)
|
|
|
|
static int applesmc_create_key_backlight(void)
|
|
{
|
|
+ int ret;
|
|
+
|
|
if (!smcreg.has_key_backlight)
|
|
return 0;
|
|
applesmc_led_wq = create_singlethread_workqueue("applesmc-led");
|
|
if (!applesmc_led_wq)
|
|
return -ENOMEM;
|
|
- return led_classdev_register(&pdev->dev, &applesmc_backlight);
|
|
+ ret = led_classdev_register(&pdev->dev, &applesmc_backlight);
|
|
+ if (ret)
|
|
+ destroy_workqueue(applesmc_led_wq);
|
|
+ return ret;
|
|
}
|
|
|
|
static void applesmc_release_key_backlight(void)
|