Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9dab51da authored by Axel Lin's avatar Axel Lin Committed by Linus Torvalds
Browse files

drivers/video/backlight/ltv350qv.c: fix a memory leak



Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 10ffa964
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -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, &ltv_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;