diff options
author | Axel Lin <axel.lin@gmail.com> | 2011-01-04 17:40:04 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-01-06 14:18:07 -0500 |
commit | 9c86c0f4ba49b39f909d7f18731b91e563e07065 (patch) | |
tree | 70a179d53210068875525163f3350f7665bb9dae | |
parent | 2a8fe003741aa90b6b9453e90af4bbb7bc42918c (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.c | 2 |
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 | ||