|
|
@@ -1516,6 +1516,11 @@ static int imsttfb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
|
info->fix.smem_start = addr;
|
|
|
info->screen_base = (__u8 *)ioremap(addr, par->ramdac == IBM ?
|
|
|
0x400000 : 0x800000);
|
|
|
+ if (!info->screen_base) {
|
|
|
+ release_mem_region(addr, size);
|
|
|
+ framebuffer_release(info);
|
|
|
+ return -ENOMEM;
|
|
|
+ }
|
|
|
info->fix.mmio_start = addr + 0x800000;
|
|
|
par->dc_regs = ioremap(addr + 0x800000, 0x1000);
|
|
|
par->cmap_regs_phys = addr + 0x840000;
|