mirror of
https://github.com/adulau/aha.git
synced 2024-12-27 03:06:10 +00:00
sstfb: check fb_alloc_cmap return value and handle failure properly
Signed-off-by: Andres Salomon <dilinger@debian.org> Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
0a5d924e59
commit
c23124277e
1 changed files with 7 additions and 3 deletions
|
@ -1421,13 +1421,16 @@ static int __devinit sstfb_probe(struct pci_dev *pdev,
|
|||
goto fail;
|
||||
}
|
||||
|
||||
fb_alloc_cmap(&info->cmap, 256, 0);
|
||||
if (fb_alloc_cmap(&info->cmap, 256, 0)) {
|
||||
printk(KERN_ERR "sstfb: can't alloc cmap memory.\n");
|
||||
goto fail;
|
||||
}
|
||||
|
||||
/* register fb */
|
||||
info->device = &pdev->dev;
|
||||
if (register_framebuffer(info) < 0) {
|
||||
printk(KERN_ERR "sstfb: can't register framebuffer.\n");
|
||||
goto fail;
|
||||
goto fail_register;
|
||||
}
|
||||
|
||||
sstfb_clear_screen(info);
|
||||
|
@ -1441,8 +1444,9 @@ static int __devinit sstfb_probe(struct pci_dev *pdev,
|
|||
|
||||
return 0;
|
||||
|
||||
fail:
|
||||
fail_register:
|
||||
fb_dealloc_cmap(&info->cmap);
|
||||
fail:
|
||||
iounmap(info->screen_base);
|
||||
fail_fb_remap:
|
||||
iounmap(par->mmio_vbase);
|
||||
|
|
Loading…
Reference in a new issue