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>
This commit is contained in:
parent
b72a5070c7
commit
1b1f8cd299
@ -1870,7 +1870,7 @@ static int __devinit via_pci_probe(struct pci_dev *pdev,
|
|||||||
printk(KERN_ERR
|
printk(KERN_ERR
|
||||||
"allocate the second framebuffer struct error\n");
|
"allocate the second framebuffer struct error\n");
|
||||||
rc = -ENOMEM;
|
rc = -ENOMEM;
|
||||||
goto out_delete_i2c;
|
goto out_unmap_screen;
|
||||||
}
|
}
|
||||||
viaparinfo1 = viafbinfo1->par;
|
viaparinfo1 = viafbinfo1->par;
|
||||||
memcpy(viaparinfo1, viaparinfo, viafb_par_length);
|
memcpy(viaparinfo1, viaparinfo, viafb_par_length);
|
||||||
@ -1961,6 +1961,8 @@ static int __devinit via_pci_probe(struct pci_dev *pdev,
|
|||||||
out_fb1_release:
|
out_fb1_release:
|
||||||
if (viafbinfo1)
|
if (viafbinfo1)
|
||||||
framebuffer_release(viafbinfo1);
|
framebuffer_release(viafbinfo1);
|
||||||
|
out_unmap_screen:
|
||||||
|
iounmap(viafbinfo->screen_base);
|
||||||
out_delete_i2c:
|
out_delete_i2c:
|
||||||
viafb_delete_i2c_buss(viaparinfo);
|
viafb_delete_i2c_buss(viaparinfo);
|
||||||
out_fb_release:
|
out_fb_release:
|
||||||
|
Loading…
Reference in New Issue
Block a user