From: Krzysztof Helt Add missing release of allocated fb_info structure and move enable_mmio() to fix error path. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton --- drivers/video/tridentfb.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff -puN drivers/video/tridentfb.c~tridentfb-improve-probe-function drivers/video/tridentfb.c --- a/drivers/video/tridentfb.c~tridentfb-improve-probe-function +++ a/drivers/video/tridentfb.c @@ -1287,6 +1287,7 @@ static int __devinit trident_pci_probe(s if (!request_mem_region(tridentfb_fix.mmio_start, tridentfb_fix.mmio_len, "tridentfb")) { debug("request_region failed!\n"); + framebuffer_release(info); return -1; } @@ -1299,8 +1300,6 @@ static int __devinit trident_pci_probe(s goto out_unmap1; } - enable_mmio(); - /* setup framebuffer memory */ tridentfb_fix.smem_start = pci_resource_start(dev, 0); tridentfb_fix.smem_len = get_memsize(default_par); @@ -1312,6 +1311,8 @@ static int __devinit trident_pci_probe(s goto out_unmap1; } + enable_mmio(); + info->screen_base = ioremap_nocache(tridentfb_fix.smem_start, tridentfb_fix.smem_len); _