aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/fsl_pq_mdio.c
diff options
context:
space:
mode:
authorAnton Vorontsov <avorontsov@mvista.com>2010-05-14 00:27:30 -0400
committerDavid S. Miller <davem@davemloft.net>2010-05-17 20:44:46 -0400
commit08d18f3b62b4c05731a09eca2b432842a0a18da5 (patch)
tree7225872a2ae55f67b8274ce6ede356a348b3b29b /drivers/net/fsl_pq_mdio.c
parenta2f79227138c71e08627af5f8961197364edbc98 (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.c6
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,