video: mxsfb: fix crash when unblanking the display
The VDCTRL4 register does not provide the MXS SET/CLR/TOGGLE feature. The write in mxsfb_disable_controller() sets the data_cnt for the LCD DMA to 0 which obviously means the max. count for the LCD DMA and leads to overwriting arbitrary memory when the display is unblanked. Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> Acked-by: Juergen Beisert <jbe@pengutronix.de> Tested-by: Lauri Hintsala <lauri.hintsala@bluegiga.net> Cc: <stable@vger.kernel.org> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
This commit is contained in:
parent
664e9e495a
commit
6c1ecba8d8
|
@ -369,7 +369,8 @@ static void mxsfb_disable_controller(struct fb_info *fb_info)
|
|||
loop--;
|
||||
}
|
||||
|
||||
writel(VDCTRL4_SYNC_SIGNALS_ON, host->base + LCDC_VDCTRL4 + REG_CLR);
|
||||
reg = readl(host->base + LCDC_VDCTRL4);
|
||||
writel(reg & ~VDCTRL4_SYNC_SIGNALS_ON, host->base + LCDC_VDCTRL4);
|
||||
|
||||
clk_disable_unprepare(host->clk);
|
||||
|
||||
|
|
Loading…
Reference in a new issue