aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@gmail.com>2011-01-04 17:40:04 -0500
committerDavid S. Miller <davem@davemloft.net>2011-01-06 14:18:07 -0500
commit9c86c0f4ba49b39f909d7f18731b91e563e07065 (patch)
tree70a179d53210068875525163f3350f7665bb9dae
parent2a8fe003741aa90b6b9453e90af4bbb7bc42918c (diff)
net: r6040: Return proper error for r6040_init_one
Return -ENOMEM instead of 0 for the case of mdiobus_alloc and kmalloc failure. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Florian Fainelli <florian@openwrt.org> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/r6040.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/r6040.c b/drivers/net/r6040.c
index 0b014c894686..27e6f6d43cac 100644
--- a/drivers/net/r6040.c
+++ b/drivers/net/r6040.c
@@ -1153,6 +1153,7 @@ static int __devinit r6040_init_one(struct pci_dev *pdev,
1153 lp->mii_bus = mdiobus_alloc(); 1153 lp->mii_bus = mdiobus_alloc();
1154 if (!lp->mii_bus) { 1154 if (!lp->mii_bus) {
1155 dev_err(&pdev->dev, "mdiobus_alloc() failed\n"); 1155 dev_err(&pdev->dev, "mdiobus_alloc() failed\n");
1156 err = -ENOMEM;
1156 goto err_out_unmap; 1157 goto err_out_unmap;
1157 } 1158 }
1158 1159
@@ -1165,6 +1166,7 @@ static int __devinit r6040_init_one(struct pci_dev *pdev,
1165 lp->mii_bus->irq = kmalloc(sizeof(int)*PHY_MAX_ADDR, GFP_KERNEL); 1166 lp->mii_bus->irq = kmalloc(sizeof(int)*PHY_MAX_ADDR, GFP_KERNEL);
1166 if (!lp->mii_bus->irq) { 1167 if (!lp->mii_bus->irq) {
1167 dev_err(&pdev->dev, "mii_bus irq allocation failed\n"); 1168 dev_err(&pdev->dev, "mii_bus irq allocation failed\n");
1169 err = -ENOMEM;
1168 goto err_out_mdio; 1170 goto err_out_mdio;
1169 } 1171 }
1170 1172