]> git.karo-electronics.de Git - mv-sheeva.git/commit
fbdev: sh_mobile_lcdcfb: fix more error paths
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Fri, 3 Sep 2010 07:19:57 +0000 (07:19 +0000)
committerPaul Mundt <lethal@linux-sh.org>
Tue, 14 Sep 2010 08:22:25 +0000 (17:22 +0900)
commit5ef6b505d9df45558402bdb823a078840a6a26c4
tree9ce7965f1aff5195822962369ee2a2c671fcfdcf
parent6ee4845270d9b1e7ea348f9e3b6347f54f986abb
fbdev: sh_mobile_lcdcfb: fix more error paths

This patch fixes the following two erroneous error paths:

hw_usecnt is allocated with a value of 0, therefore in an early error case,
calling sh_mobile_lcdc_clk_off() will wrongly conclude, that hw_usecnt has
already been incremented. Then sh_mobile_lcdc_runtime_suspend() will be called,
which will access uninitialised data fields and crash the kernel.

sh_mobile_lcdc_stop() can be called before framebuffer has been allocated, then
ch->info is NULL and dereferencing it will Oops too.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
drivers/video/sh_mobile_lcdcfb.c