diff options
author | Levente Kurusa <levex@linux.com> | 2014-01-30 15:45:45 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-01-30 16:56:54 -0800 |
commit | 54f5968db9e09de8779b5a5174719af51f1da199 (patch) | |
tree | a457a3af2a40fcf184bcfca10123c175ddc3eaf4 | |
parent | 07bacb3826d613bb651297a201dd2df8dd4fdee5 (diff) | |
download | linux-stable-54f5968db9e09de8779b5a5174719af51f1da199.tar.gz linux-stable-54f5968db9e09de8779b5a5174719af51f1da199.tar.bz2 linux-stable-54f5968db9e09de8779b5a5174719af51f1da199.zip |
drivers/video/backlight/lcd.c: call put_device if device_register fails
Currently we kfree the container of the device which failed to register.
This is wrong as the last reference is not given up with a put_device
call. Also, now that we have put_device() callen, we no longer need the
kfree as the new_ld->dev.release function will take care of kfreeing the
associated memory.
Signed-off-by: Levente Kurusa <levex@linux.com>
Acked-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | drivers/video/backlight/lcd.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/video/backlight/lcd.c b/drivers/video/backlight/lcd.c index 93cf15efc717..7de847df224f 100644 --- a/drivers/video/backlight/lcd.c +++ b/drivers/video/backlight/lcd.c @@ -228,7 +228,7 @@ struct lcd_device *lcd_device_register(const char *name, struct device *parent, rc = device_register(&new_ld->dev); if (rc) { - kfree(new_ld); + put_device(&new_ld->dev); return ERR_PTR(rc); } |