[U-Boot] [PATCH] cs8900 driver: cleanup cs8900_initialize()

Matthias Kaehlcke matthias at kaehlcke.net
Thu Jan 21 21:56:46 CET 2010


cs8900_initialize(): remove unecessary calls to free(), fix memory leak and
report errors in the return value

Signed-off-by: Matthias Kaehlcke <matthias at kaehlcke.net>
---
 drivers/net/cs8900.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/net/cs8900.c b/drivers/net/cs8900.c
index df36004..7895048 100644
--- a/drivers/net/cs8900.c
+++ b/drivers/net/cs8900.c
@@ -308,15 +308,14 @@ int cs8900_initialize(u8 dev_num, int base_addr)
 
 	dev = malloc(sizeof(*dev));
 	if (!dev) {
-		free(dev);
-		return 0;
+		return -1;
 	}
 	memset(dev, 0, sizeof(*dev));
 
 	priv = malloc(sizeof(*priv));
 	if (!priv) {
-		free(priv);
-		return 0;
+		free(dev);
+		return -1;
 	}
 	memset(priv, 0, sizeof(*priv));
 	priv->regs = (struct cs8900_regs *)base_addr;
-- 
1.6.3.1



More information about the U-Boot mailing list