diff options
author | Anton Vorontsov <avorontsov@mvista.com> | 2010-05-14 00:27:30 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-05-17 20:44:46 -0400 |
commit | 08d18f3b62b4c05731a09eca2b432842a0a18da5 (patch) | |
tree | 7225872a2ae55f67b8274ce6ede356a348b3b29b /drivers/net/fsl_pq_mdio.c | |
parent | a2f79227138c71e08627af5f8961197364edbc98 (diff) |
fsl_pq_mdio: Fix mdiobus allocation handling
The driver could return success code even if mdiobus_alloc() failed.
This patch fixes the issue.
Signed-off-by: Anton Vorontsov <avorontsov@mvista.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/fsl_pq_mdio.c')
-rw-r--r-- | drivers/net/fsl_pq_mdio.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/fsl_pq_mdio.c b/drivers/net/fsl_pq_mdio.c index 3acac5f930c8..ff028f59b930 100644 --- a/drivers/net/fsl_pq_mdio.c +++ b/drivers/net/fsl_pq_mdio.c | |||
@@ -277,15 +277,17 @@ static int fsl_pq_mdio_probe(struct of_device *ofdev, | |||
277 | int tbiaddr = -1; | 277 | int tbiaddr = -1; |
278 | const u32 *addrp; | 278 | const u32 *addrp; |
279 | u64 addr = 0, size = 0; | 279 | u64 addr = 0, size = 0; |
280 | int err = 0; | 280 | int err; |
281 | 281 | ||
282 | priv = kzalloc(sizeof(*priv), GFP_KERNEL); | 282 | priv = kzalloc(sizeof(*priv), GFP_KERNEL); |
283 | if (!priv) | 283 | if (!priv) |
284 | return -ENOMEM; | 284 | return -ENOMEM; |
285 | 285 | ||
286 | new_bus = mdiobus_alloc(); | 286 | new_bus = mdiobus_alloc(); |
287 | if (NULL == new_bus) | 287 | if (!new_bus) { |
288 | err = -ENOMEM; | ||
288 | goto err_free_priv; | 289 | goto err_free_priv; |
290 | } | ||
289 | 291 | ||
290 | new_bus->name = "Freescale PowerQUICC MII Bus", | 292 | new_bus->name = "Freescale PowerQUICC MII Bus", |
291 | new_bus->read = &fsl_pq_mdio_read, | 293 | new_bus->read = &fsl_pq_mdio_read, |