diff options
author | Arnd Bergmann <arnd@arndb.de> | 2016-08-26 17:25:43 +0200 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2016-08-30 10:31:22 +0200 |
commit | 1121a418b2083038e9981ab9e2401db9fb8fdd7e (patch) | |
tree | 0a94bd58c9fa72aee225a62ba50e6d09adadcb46 /drivers/video | |
parent | video: fbdev: pxafb: potential NULL dereference on error (diff) | |
download | linux-1121a418b2083038e9981ab9e2401db9fb8fdd7e.tar.xz linux-1121a418b2083038e9981ab9e2401db9fb8fdd7e.zip |
video: ARM CLCD: fix endpoint lookup logic
The addition of the Nomadik support in this driver introduced
a bug in clcdfb_of_init_display(), which now calls init_panel
with an uninitialized 'endpoint' pointer, as "gcc -Wmaybe-uninitialized"
warns:
drivers/video/fbdev/amba-clcd.c: In function 'clcdfb_of_init_display':
drivers/video/fbdev/amba-clcd.c:785:5: error: 'endpoint' may be used uninitialized in this function [-Werror=maybe-uninitialized]
This reverts the broken part of the function to what it was before
the patch, which is the best guess I have to what it should be.
I assume this was left over from an attempted rework of the
code that was partially backed out.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 046ad6cdeb3f ("video: ARM CLCD: support Nomadik variant")
Cc: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reported-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/fbdev/amba-clcd.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/video/fbdev/amba-clcd.c b/drivers/video/fbdev/amba-clcd.c index c342ff370108..ec2671d98abc 100644 --- a/drivers/video/fbdev/amba-clcd.c +++ b/drivers/video/fbdev/amba-clcd.c @@ -782,12 +782,9 @@ static int clcdfb_of_init_display(struct clcd_fb *fb) /* * Fetch the panel endpoint. */ - if (!endpoint) { - endpoint = of_graph_get_next_endpoint(fb->dev->dev.of_node, - NULL); - if (!endpoint) - return -ENODEV; - } + endpoint = of_graph_get_next_endpoint(fb->dev->dev.of_node, NULL); + if (!endpoint) + return -ENODEV; if (fb->vendor->init_panel) { err = fb->vendor->init_panel(fb, endpoint); |