Re: [PATCH 03/16] viafb: Unmap the frame buffer on initialization error

Florian Tobias Schandinat <[email protected]> Thu, 08 Apr 2010 20:55:59 +0200
Newsgroups gmane.linux.kernel,gmane.linux.fbdev.devel
Message-ID <[email protected]>
Jonathan Corbet schrieb:
> 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.

Well it was dropped because the patch introducing the goto_error_out 
logic wasn't backported that time because I planned to rewrite the 
framebuffer initialization to use a common function for multiple 
framebuffers.
As we now (due to your previous patches) have this logic it looks good 
to me.


Thanks,

Florian Tobias Schandinat

> Signed-off-by: Jonathan Corbet <[email protected]>
> ---
>  drivers/video/via/viafbdev.c |    4 +++-
>  1 files changed, 3 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/video/via/viafbdev.c b/drivers/video/via/viafbdev.c
> index 91bfe6d..4a34d4f 100644
> --- a/drivers/video/via/viafbdev.c
> +++ b/drivers/video/via/viafbdev.c
> @@ -1991,7 +1991,7 @@ static int __devinit via_pci_probe(struct pci_dev *pdev,
>  		if (!viafbinfo1) {
>  			printk(KERN_ERR
>  			"allocate the second framebuffer struct error\n");
> -			goto out_delete_i2c;
> +			goto out_unmap_screen;
>  		}
>  		viaparinfo1 = viafbinfo1->par;
>  		memcpy(viaparinfo1, viaparinfo, viafb_par_length);
> @@ -2086,6 +2086,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: