Messages in this thread | | | From | Jingoo Han <> | Subject | Re: [PATCH 3/4] backlight: lcd: call put_device if device_register fails | Date | Tue, 07 Jan 2014 10:42:11 +0900 |
| |
On Saturday, December 14, 2013 3:40 AM, Levente Kurusa wrote: > > 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> > --- > drivers/video/backlight/lcd.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/video/backlight/lcd.c b/drivers/video/backlight/lcd.c > index 93cf15e..7de847d 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); > }
(+cc Andrew Morton)
Hi Levente Kurusa,
Would you fix the same thing for 'backlight.c' file?
./drivers/video/backlight/backlight.c struct backlight_device *backlight_device_register(const char *name, ..... rc = device_register(&new_bd->dev); if (rc) { kfree(new_bd); return ERR_PTR(rc); }
Best regards, Jingoo Han
| |