Prev: [014/116] ath5k: dont use external sleep clock in AP mode
Next: [031/116] sched: Mark boot-cpu active before smp_init()
From: Greg KH on 30 Mar 2010 20:20 2.6.32-stable review patch. If anyone has any objections, please let us know. ------------------ From: Marcin Slusarz <marcin.slusarz(a)gmail.com> commit 89f3f2199084a160a3a45fa6d9af235696321758 upstream. Commit 4410f3910947dcea8672280b3adecd53cec4e85e ("fbdev: add support for handoff from firmware to hw framebuffers") didn't add fb_destroy operation to efifb. Fix it and change aperture_size to match size passed to request_mem_region. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=15151 Signed-off-by: Marcin Slusarz <marcin.slusarz(a)gmail.com> Reported-by: Alex Zhavnerchik <alex.vizor(a)gmail.com> Tested-by: Alex Zhavnerchik <alex.vizor(a)gmail.com> Acked-by: Peter Jones <pjones(a)redhat.com> Cc: Huang Ying <ying.huang(a)intel.com> Cc: Dave Airlie <airlied(a)redhat.com> Cc: "Rafael J. Wysocki" <rjw(a)sisk.pl> Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds(a)linux-foundation.org> Cc: maximilian attems <max(a)stro.at> Signed-off-by: Greg Kroah-Hartman <gregkh(a)suse.de> --- drivers/video/efifb.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) --- a/drivers/video/efifb.c +++ b/drivers/video/efifb.c @@ -161,8 +161,17 @@ static int efifb_setcolreg(unsigned regn return 0; } +static void efifb_destroy(struct fb_info *info) +{ + if (info->screen_base) + iounmap(info->screen_base); + release_mem_region(info->aperture_base, info->aperture_size); + framebuffer_release(info); +} + static struct fb_ops efifb_ops = { .owner = THIS_MODULE, + .fb_destroy = efifb_destroy, .fb_setcolreg = efifb_setcolreg, .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, @@ -281,7 +290,7 @@ static int __init efifb_probe(struct pla info->par = NULL; info->aperture_base = efifb_fix.smem_start; - info->aperture_size = size_total; + info->aperture_size = size_remap; info->screen_base = ioremap(efifb_fix.smem_start, efifb_fix.smem_len); if (!info->screen_base) { -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |