From: Alexey Khoroshilov Date: Fri, 1 Feb 2013 12:09:19 +0000 (+0000) Subject: stmmac: don't return zero on failure path in stmmac_pci_probe() X-Git-Tag: firefly_0821_release~3680^2~1092^2~193 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=4f463855c7d5a0ed0faa62497f3006336e74ee16;p=firefly-linux-kernel-4.4.55.git 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 Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c index 064eaac9616f..19b3a2567a46 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c +++ b/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;