diff --git a/drivers/net/dc2114x.c b/drivers/net/dc2114x.c
index 5ae53e816b1b0d9629105e94fd599d60f26bf999..51e7c19e03d418d26f9e6d5c9d6d2dc106b04b00 100644
--- a/drivers/net/dc2114x.c
+++ b/drivers/net/dc2114x.c
@@ -280,6 +280,12 @@ int dc21x4x_initialize(bd_t *bis)
 
 		dev = (struct eth_device*) malloc(sizeof *dev);
 
+		if (!dev) {
+			printf("Can not allocalte memory of dc21x4x\n");
+			break;
+		}
+		memset(dev, 0, sizeof(*dev));
+
 #ifdef CONFIG_TULIP_FIX_DAVICOM
 		sprintf(dev->name, "Davicom#%d", card_number);
 #else