From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753576AbbCAWaf (ORCPT ); Sun, 1 Mar 2015 17:30:35 -0500 Received: from mailgw1.uni-kl.de ([131.246.120.220]:57858 "EHLO mailgw1.uni-kl.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751781AbbCAW2e (ORCPT ); Sun, 1 Mar 2015 17:28:34 -0500 From: =?UTF-8?q?Thomas=20Niederpr=C3=BCm?= To: plagnioj@jcrosoft.com, tomi.valkeinen@ti.com, maxime.ripard@free-electrons.com Cc: linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org, =?UTF-8?q?Thomas=20Niederpr=C3=BCm?= Subject: [PATCHv2 01/10] fbdev: ssd1307fb: fix memory address smem_start. Date: Sun, 1 Mar 2015 23:27:54 +0100 Message-Id: <1425248883-25367-2-git-send-email-niederp@physik.uni-kl.de> X-Mailer: git-send-email 2.3.0 In-Reply-To: <1425248883-25367-1-git-send-email-niederp@physik.uni-kl.de> References: <1423261694-5939-1-git-send-email-niederp@physik.uni-kl.de> <1425248883-25367-1-git-send-email-niederp@physik.uni-kl.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org the smem_start pointer of the framebuffer info struct needs to hold the physical address rather than the virtual address. This patch fixes a driver crash on mmaping the framebuffer memory due to an access to the memory address. Note however that the memory allocated by kzalloc is not page aligned, while the address presented on a mmap call is aligned to the next page boudary. Signed-off-by: Thomas Niederprüm --- drivers/video/fbdev/ssd1307fb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c index f7ed6d9..61e0ce8 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); -- 2.3.0