diff options
-rw-r--r-- | drivers/char/stallion.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/char/stallion.c b/drivers/char/stallion.c index 23ea4c881f58..45bf2a262a85 100644 --- a/drivers/char/stallion.c +++ b/drivers/char/stallion.c | |||
@@ -2177,6 +2177,7 @@ static int __devinit stl_initech(struct stlbrd *brdp) | |||
2177 | if (!panelp) { | 2177 | if (!panelp) { |
2178 | printk("STALLION: failed to allocate memory " | 2178 | printk("STALLION: failed to allocate memory " |
2179 | "(size=%Zd)\n", sizeof(struct stlpanel)); | 2179 | "(size=%Zd)\n", sizeof(struct stlpanel)); |
2180 | retval = -ENOMEM; | ||
2180 | goto err_fr; | 2181 | goto err_fr; |
2181 | } | 2182 | } |
2182 | panelp->magic = STL_PANELMAGIC; | 2183 | panelp->magic = STL_PANELMAGIC; |
@@ -2223,8 +2224,10 @@ static int __devinit stl_initech(struct stlbrd *brdp) | |||
2223 | brdp->nrports += panelp->nrports; | 2224 | brdp->nrports += panelp->nrports; |
2224 | brdp->panels[panelnr++] = panelp; | 2225 | brdp->panels[panelnr++] = panelp; |
2225 | if ((brdp->brdtype != BRD_ECHPCI) && | 2226 | if ((brdp->brdtype != BRD_ECHPCI) && |
2226 | (ioaddr >= (brdp->ioaddr2 + brdp->iosize2))) | 2227 | (ioaddr >= (brdp->ioaddr2 + brdp->iosize2))) { |
2228 | retval = -EINVAL; | ||
2227 | goto err_fr; | 2229 | goto err_fr; |
2230 | } | ||
2228 | } | 2231 | } |
2229 | 2232 | ||
2230 | brdp->nrpanels = panelnr; | 2233 | brdp->nrpanels = panelnr; |
@@ -2371,6 +2374,7 @@ static int __devinit stl_pciprobe(struct pci_dev *pdev, | |||
2371 | dev_err(&pdev->dev, "too many boards found, " | 2374 | dev_err(&pdev->dev, "too many boards found, " |
2372 | "maximum supported %d\n", STL_MAXBRDS); | 2375 | "maximum supported %d\n", STL_MAXBRDS); |
2373 | mutex_unlock(&stl_brdslock); | 2376 | mutex_unlock(&stl_brdslock); |
2377 | retval = -ENODEV; | ||
2374 | goto err_fr; | 2378 | goto err_fr; |
2375 | } | 2379 | } |
2376 | brdp->brdnr = (unsigned int)brdnr; | 2380 | brdp->brdnr = (unsigned int)brdnr; |