From a0c48eca9aabf19e23aaff62a235cad813d1bbaa Mon Sep 17 00:00:00 2001 From: =?utf8?q?Lothar=20Wa=C3=9Fmann?= Date: Thu, 22 Nov 2012 09:36:12 +0100 Subject: [PATCH] video: mxsfb: don't use non-existent CLR-register LCDC_VDCTRL4 is an ordinary register without SET/CLR/TOGGLE function. Trying to clear bits via the CLR address results in a data abort. This patch fixes a kernel crash when disabling the LCD controller e.g. by blanking the display. --- drivers/video/mxsfb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/video/mxsfb.c b/drivers/video/mxsfb.c index 49619b441500..f2a49ef772f3 100644 --- a/drivers/video/mxsfb.c +++ b/drivers/video/mxsfb.c @@ -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); -- 2.39.2