From: Herbert Xu The recent change to vga16fb's memory mapping that you partially reverted is still broken. In particular, it's setting fix.mem_start to a virtual address on i386. The value of fix.mem_start is meant to be physical. We could simply apply virt_to_phys to it, but somehow I doubt that is what it's meant to do on arm. So until we hear from someone who knows how it works on arm, let's just revert this change. Signed-off-by: Andrew Morton --- 25-akpm/drivers/video/vga16fb.c | 2 -- 1 files changed, 2 deletions(-) diff -puN drivers/video/vga16fb.c~vga16fb-fix-bogus-mem_start-value drivers/video/vga16fb.c --- 25/drivers/video/vga16fb.c~vga16fb-fix-bogus-mem_start-value 2004-06-08 22:43:48.466400312 -0700 +++ 25-akpm/drivers/video/vga16fb.c 2004-06-08 22:43:48.470399704 -0700 @@ -1372,8 +1372,6 @@ int __init vga16fb_init(void) vga16fb.par = &vga16_par; vga16fb.flags = FBINFO_FLAG_DEFAULT; - vga16fb.fix.smem_start = VGA_MAP_MEM(vga16fb.fix.smem_start); - i = (vga16fb_defined.bits_per_pixel == 8) ? 256 : 16; ret = fb_alloc_cmap(&vga16fb.cmap, i, 0); if (ret) { _