Browse Source

stmmac: don't return zero on failure path in stmmac_pci_probe()

If stmmac_dvr_probe() fails in stmmac_pci_probe(), it breaks off initialization,
deallocates all resources, but returns zero.
The patch adds -ENODEV as return value in this case.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
Alexey Khoroshilov 12 years ago
parent
commit
4f463855c7
1 changed files with 1 additions and 0 deletions
  1. 1 0
      drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c

+ 1 - 0
drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c

@@ -102,6 +102,7 @@ static int stmmac_pci_probe(struct pci_dev *pdev,
 	priv = stmmac_dvr_probe(&(pdev->dev), &plat_dat, addr);
 	if (!priv) {
 		pr_err("%s: main driver probe failed", __func__);
+		ret = -ENODEV;
 		goto err_out;
 	}
 	priv->dev->irq = pdev->irq;