diff options
Diffstat (limited to 'packages/linux/linux-2.6.18/lcdc-fix-possible-null-pointer-and-match-guard-time-to-uboot.patch')
-rw-r--r-- | packages/linux/linux-2.6.18/lcdc-fix-possible-null-pointer-and-match-guard-time-to-uboot.patch | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/packages/linux/linux-2.6.18/lcdc-fix-possible-null-pointer-and-match-guard-time-to-uboot.patch b/packages/linux/linux-2.6.18/lcdc-fix-possible-null-pointer-and-match-guard-time-to-uboot.patch new file mode 100644 index 0000000000..fea5d6cf80 --- /dev/null +++ b/packages/linux/linux-2.6.18/lcdc-fix-possible-null-pointer-and-match-guard-time-to-uboot.patch @@ -0,0 +1,38 @@ +Index: linux-2.6.18/drivers/video/sidsafb.c +=================================================================== +--- linux-2.6.18.orig/drivers/video/sidsafb.c 2007-01-11 13:35:02.000000000 +0100 ++++ linux-2.6.18/drivers/video/sidsafb.c 2007-01-11 14:22:56.000000000 +0100 +@@ -661,6 +661,7 @@ + struct fb_info *info; + struct sidsafb_info *sinfo; + const struct resource *mmio_resource; ++ int preinitialized = 0; + int ret; + + pr_debug("sidsafb_probe BEGIN\n"); +@@ -681,7 +682,7 @@ + sinfo = info->par; + sinfo->info = info; + sinfo->pdev = pdev; +- sinfo->guard_time = 1; ++ sinfo->guard_time = 2; + + spin_lock_init(&sinfo->lock); + sidsafb_set_fbinfo(sinfo); +@@ -711,6 +712,7 @@ + info->fix.smem_len = fb_data->fbmem_size; + info->screen_base = ioremap(info->fix.smem_start, + info->fix.smem_len); ++ preinitialized = 1; + } else { + dma_addr_t paddr; + +@@ -767,7 +769,7 @@ + + /* Only clear framebuffer if fbmem_start was not declared, assume the + * user have filled the framebuffer before the kernel was started. */ +- if (!fb_data->fbmem_start) ++ if (!preinitialized) + memset_io(info->screen_base, 0, info->fix.smem_len); + info->var.activate |= FB_ACTIVATE_FORCE | FB_ACTIVATE_NOW; + ret = fb_set_var(info, &info->var); |