diff options
Diffstat (limited to 'drivers/video/backlight/lcd.c')
-rw-r--r-- | drivers/video/backlight/lcd.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/video/backlight/lcd.c b/drivers/video/backlight/lcd.c index f6e041627edb..f95f0e33101d 100644 --- a/drivers/video/backlight/lcd.c +++ b/drivers/video/backlight/lcd.c | |||
@@ -206,14 +206,15 @@ struct lcd_device *lcd_device_register(const char *name, void *devdata, | |||
206 | 206 | ||
207 | rc = class_device_register(&new_ld->class_dev); | 207 | rc = class_device_register(&new_ld->class_dev); |
208 | if (unlikely(rc)) { | 208 | if (unlikely(rc)) { |
209 | error: kfree(new_ld); | 209 | kfree(new_ld); |
210 | return ERR_PTR(rc); | 210 | return ERR_PTR(rc); |
211 | } | 211 | } |
212 | 212 | ||
213 | rc = lcd_register_fb(new_ld); | 213 | rc = lcd_register_fb(new_ld); |
214 | 214 | if (rc) { | |
215 | if (unlikely(rc)) | 215 | class_device_unregister(&new_ld->class_dev); |
216 | goto error; | 216 | return ERR_PTR(rc); |
217 | } | ||
217 | 218 | ||
218 | for (i = 0; i < ARRAY_SIZE(lcd_class_device_attributes); i++) { | 219 | for (i = 0; i < ARRAY_SIZE(lcd_class_device_attributes); i++) { |
219 | rc = class_device_create_file(&new_ld->class_dev, | 220 | rc = class_device_create_file(&new_ld->class_dev, |