tsi108_eth driver does not have write_hwaddr function.
However, eth stuff executes write_hwaddr function
because eth_device structure has not been initialized.

Signed-off-by: Nobuhiro Iwamatsu <iwama...@nigauri.org>
CC: Ben Warren <biggerbadder...@gmail.com>
---
 drivers/net/tsi108_eth.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/drivers/net/tsi108_eth.c b/drivers/net/tsi108_eth.c
index 079354a..f100ec1 100644
--- a/drivers/net/tsi108_eth.c
+++ b/drivers/net/tsi108_eth.c
@@ -731,7 +731,11 @@ int tsi108_eth_initialize (bd_t * bis)
 
        for (index = 0; index < CONFIG_TSI108_ETH_NUM_PORTS; index++) {
                dev = (struct eth_device *)malloc(sizeof(struct eth_device));
-
+               if (!dev) {
+                       printf("tsi108: Can not allocate memory\n");
+                       break;
+               }
+               memset(dev, 0, sizeof(*dev));
                sprintf (dev->name, "TSI108_eth%d", index);
 
                dev->iobase = ETH_BASE + (index * ETH_PORT_OFFSET);
-- 
1.7.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to