1 From 17355a855011e70cdda40188eb26f3022d89f5e0 Mon Sep 17 00:00:00 2001
2 From: Alexey Khoroshilov <khoroshilov@ispras.ru>
3 Date: Thu, 20 Dec 2018 19:13:07 +0100
4 Subject: video: clps711x-fb: release disp device node in probe()
6 [ Upstream commit fdac751355cd76e049f628afe6acb8ff4b1399f7 ]
8 clps711x_fb_probe() increments refcnt of disp device node by
9 of_parse_phandle() and leaves it undecremented on both
10 successful and error paths.
12 Found by Linux Driver Verification project (linuxtesting.org).
14 Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
15 Cc: Alexander Shiyan <shc_work@mail.ru>
16 Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
17 Signed-off-by: Sasha Levin <sashal@kernel.org>
19 drivers/video/fbdev/clps711x-fb.c | 5 ++++-
20 1 file changed, 4 insertions(+), 1 deletion(-)
22 diff --git a/drivers/video/fbdev/clps711x-fb.c b/drivers/video/fbdev/clps711x-fb.c
23 index ff561073ee4e..42f909618f04 100644
24 --- a/drivers/video/fbdev/clps711x-fb.c
25 +++ b/drivers/video/fbdev/clps711x-fb.c
26 @@ -287,14 +287,17 @@ static int clps711x_fb_probe(struct platform_device *pdev)
29 ret = of_get_fb_videomode(disp, &cfb->mode, OF_USE_NATIVE_MODE);
36 of_property_read_u32(disp, "ac-prescale", &cfb->ac_prescale);
37 cfb->cmap_invert = of_property_read_bool(disp, "cmap-invert");
39 ret = of_property_read_u32(disp, "bits-per-pixel",
40 &info->var.bits_per_pixel);