From: Levente Kurusa Date: Fri, 3 Jan 2014 03:16:53 +0000 (+1100) Subject: drivers/video/backlight/lcd.c: call put_device if device_register fails X-Git-Tag: next-20140106~1^2~3 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=d6788e72ccadca98e28c3f4f9313d642fa27fcab;p=karo-tx-linux.git 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 Acked-by: Jingoo Han Signed-off-by: Andrew Morton --- 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); }