backlight: ltv350qv: fix a memory leak
Subsystems (2)
PATCH 1/1 backlight: ltv350qv: fix a memory leak
Signed-off-by Axel Lin <[email protected]>
--- drivers/video/backlight/ltv350qv.c | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-)
drivers/video/backlight/ltv350qv.c +8 -1
@@ -239,11 +239,15 @@ static int __devinit ltv350qv_probe(struct spi_device *spi) lcd->spi = spi; lcd->power =FB_BLANK_POWERDOWN ; lcd->buffer =kzalloc (8 ,GFP_KERNEL ); +if (!lcd->buffer) { + ret = -ENOMEM ; + goto out_free_lcd; + } ld =lcd_device_register ("ltv350qv" , &spi->dev, lcd, <v_ops);if (IS_ERR (ld)) { ret =PTR_ERR (ld); - goto out_free_lcd; + goto out_free_buffer; } lcd->ld = ld;
@@ -257,6 +261,8 @@ static int __devinit ltv350qv_probe(struct spi_device *spi) out_unregister:lcd_device_unregister (ld); +out_free_buffer: +kfree (lcd->buffer); out_free_lcd:kfree (lcd);return ret;
@@ -268,6 +274,7 @@ static int __devexit ltv350qv_remove(struct spi_device *spi)ltv350qv_power (lcd,FB_BLANK_POWERDOWN );lcd_device_unregister (lcd->ld); +kfree (lcd->buffer);kfree (lcd);return 0 ;
Signature · 1 line
1.7.1