summaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorJonathan Corbet <corbet@lwn.net>2010-03-27 00:45:39 +0300
committerJonathan Corbet <corbet@lwn.net>2010-04-21 00:23:18 +0400
commit1b1f8cd299d3c5a90c2ec1c24c271a0b536e5891 (patch)
tree201d87dfb84587e9c19f1eac2157185e395fb578 /drivers/video
parentb72a5070c74f5ca9a45a03c2d625daab66d0a820 (diff)
downloadlinux-1b1f8cd299d3c5a90c2ec1c24c271a0b536e5891.tar.xz
viafb: Unmap the frame buffer on initialization error
This was part of Harald's "make viafb a first-class citizen using pci_driver" patch, but somehow got dropped when that patch went into mainline. Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Cc: ScottFang@viatech.com.cn Cc: JosephChan@via.com.tw Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/via/viafbdev.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/video/via/viafbdev.c b/drivers/video/via/viafbdev.c
index 8af405bf077b..8955ab4caac8 100644
--- a/drivers/video/via/viafbdev.c
+++ b/drivers/video/via/viafbdev.c
@@ -1870,7 +1870,7 @@ static int __devinit via_pci_probe(struct pci_dev *pdev,
printk(KERN_ERR
"allocate the second framebuffer struct error\n");
rc = -ENOMEM;
- goto out_delete_i2c;
+ goto out_unmap_screen;
}
viaparinfo1 = viafbinfo1->par;
memcpy(viaparinfo1, viaparinfo, viafb_par_length);
@@ -1961,6 +1961,8 @@ out_dealloc_cmap:
out_fb1_release:
if (viafbinfo1)
framebuffer_release(viafbinfo1);
+out_unmap_screen:
+ iounmap(viafbinfo->screen_base);
out_delete_i2c:
viafb_delete_i2c_buss(viaparinfo);
out_fb_release: