From: <vi...@pa...> - 2004-02-11 22:58:18
|
On Wed, Feb 11, 2004 at 10:26:45PM +0000, James Simmons wrote: > + info = framebuffer_alloc(0, &dev->dev); > + if (!info) > + return -ENOMEM; > + dev_set_drvdata(&dev->dev, info); > + > + info->screen_base = ioremap(vesafb_fix.smem_start, vesafb_fix.smem_len); > + if (!info->screen_base) { > release_mem_region(vesafb_fix.smem_start, vesafb_fix.smem_len); > printk(KERN_ERR > "vesafb: abort, cannot ioremap video memory 0x%x @ 0x%lx\n", Who will free info? > - fb_alloc_cmap(&fb_info.cmap, video_cmap_len, 0); > + fb_alloc_cmap(&info->cmap, video_cmap_len, 0); > > - if (register_framebuffer(&fb_info)<0) > + if (register_framebuffer(info) < 0) Who will undo allocations? BTW, that applies to the old code too - even if fb_alloc_cmap() doesn't require any actions on cleanup, ioremap() definitely does. > return -EINVAL; |