If we bail out because we can't create the led class device, we need to ensure the led workqueue is cleaned up. Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk> Signed-off-by: Len Brown <len.brown@intel.com>
@@ -1248,8 +1248,10 @@ static int eeepc_led_init(struct device *dev)
return -ENOMEM;
rv = led_classdev_register(dev, &tpd_led);
- if (rv)
+ if (rv) {
+ destroy_workqueue(led_workqueue);
return rv;
+ }
return 0;
}