Re: [PATCH 01/16] [FB] viafb: Fix various resource leaks during module_init()

Jonathan Corbet <[email protected]> Fri, 9 Apr 2010 13:31:39 -0600
Newsgroups gmane.linux.kernel,gmane.linux.fbdev.devel
Organization LWN.net
Message-ID <[email protected]>
On Thu, 08 Apr 2010 20:22:57 +0200
Florian Tobias Schandinat <[email protected]> wrote:

> >  	if (!viafbinfo->screen_base) {
> >  		printk(KERN_INFO "ioremap failed\n");
> > -		return -ENOMEM;
> > +		rc = -EIO;
> 
> I don't know whether this is right (changing the return code) as Andrew 
> recommend a while ago:
> "It should return -ENOMEM rather than -1, but that's minor."
> So I did and now I wonder which one is correct?

To me it seems like -ENOMEM could be a bit confusing here; there's a lot of
things that could go wrong with that same error return.

That said, I did some digging around, and -ENOMEM does seem to be the
standard response to an ioremap() failure.  So I've changed it back.

> >  		if (!viafbinfo1) {
> >  			printk(KERN_ERR
> >  			"allocate the second framebuffer struct error\n");
> > -			framebuffer_release(viafbinfo);
> > -			return -ENOMEM;
> 
> rc = -ENOMEM;
> is missing?

Indeed.  Fixed.

Thanks,

jon