From: Jiri Slaby Date: Fri, 8 Jun 2007 20:46:53 +0000 (-0700) Subject: Char: stallion, proper fail return values X-Git-Tag: v2.6.22-rc5~76 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=49277b1c68f9bd22119a5174a68254ec1b39d8c2;p=linux-2.6 Char: stallion, proper fail return values do not return 0 in one case and return proper values in other 2. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/drivers/char/stallion.c b/drivers/char/stallion.c index 23ea4c881f..45bf2a262a 100644 --- a/drivers/char/stallion.c +++ b/drivers/char/stallion.c @@ -2177,6 +2177,7 @@ static int __devinit stl_initech(struct stlbrd *brdp) if (!panelp) { printk("STALLION: failed to allocate memory " "(size=%Zd)\n", sizeof(struct stlpanel)); + retval = -ENOMEM; goto err_fr; } panelp->magic = STL_PANELMAGIC; @@ -2223,8 +2224,10 @@ static int __devinit stl_initech(struct stlbrd *brdp) brdp->nrports += panelp->nrports; brdp->panels[panelnr++] = panelp; if ((brdp->brdtype != BRD_ECHPCI) && - (ioaddr >= (brdp->ioaddr2 + brdp->iosize2))) + (ioaddr >= (brdp->ioaddr2 + brdp->iosize2))) { + retval = -EINVAL; goto err_fr; + } } brdp->nrpanels = panelnr; @@ -2371,6 +2374,7 @@ static int __devinit stl_pciprobe(struct pci_dev *pdev, dev_err(&pdev->dev, "too many boards found, " "maximum supported %d\n", STL_MAXBRDS); mutex_unlock(&stl_brdslock); + retval = -ENODEV; goto err_fr; } brdp->brdnr = (unsigned int)brdnr;