diff options
author | Alexey Khoroshilov <khoroshilov@ispras.ru> | 2013-02-01 12:09:19 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-02-03 21:14:09 (GMT) |
commit | 4f463855c7d5a0ed0faa62497f3006336e74ee16 (patch) | |
tree | b58743cede54440e9065dd80486250f68b18b347 /drivers | |
parent | 33397a71217dda91b436726f046d78525fd08b22 (diff) | |
download | linux-4f463855c7d5a0ed0faa62497f3006336e74ee16.tar.xz |
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c index 064eaac..19b3a25 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; |