From: Thomas Niederprüm Date: Tue, 31 Mar 2015 18:27:07 +0000 (+0200) Subject: fbdev: ssd1307fb: fix memory address smem_start. X-Git-Tag: v4.2-rc1~144^2~49 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=258c0ea21d3aa974b43e5ce6c2f7c94553a3b1cc;p=karo-tx-linux.git fbdev: ssd1307fb: fix memory address smem_start. the smem_start pointer of the framebuffer info struct needs to hold the physical address rather than the logical address. Right now the logical address returned by kmalloc is stored. This patch converts this address to a physical address and thus fixes a driver crash on mmaping the framebuffer memory due to an access to the wrong memory address. Signed-off-by: Thomas Niederprüm Acked-by: Maxime Ripard Signed-off-by: Tomi Valkeinen --- diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c index f7ed6d9016f7..61e0ce866506 100644 --- a/drivers/video/fbdev/ssd1307fb.c +++ b/drivers/video/fbdev/ssd1307fb.c @@ -515,7 +515,7 @@ static int ssd1307fb_probe(struct i2c_client *client, info->var.blue.offset = 0; info->screen_base = (u8 __force __iomem *)vmem; - info->fix.smem_start = (unsigned long)vmem; + info->fix.smem_start = __pa(vmem); info->fix.smem_len = vmem_size; fb_deferred_io_init(info);