diff options
Diffstat (limited to 'drivers/net/dc2114x.c')
| -rw-r--r-- | drivers/net/dc2114x.c | 9 | 
1 files changed, 6 insertions, 3 deletions
| diff --git a/drivers/net/dc2114x.c b/drivers/net/dc2114x.c index c0137a7f2..5ae53e816 100644 --- a/drivers/net/dc2114x.c +++ b/drivers/net/dc2114x.c @@ -752,11 +752,14 @@ static void update_srom(struct eth_device *dev, bd_t *bis)  		0x0000, 0x0000, 0x0000, 0x0000,	/* 38 */  		0x0000, 0x0000, 0x0000, 0x4e07,	/* 3c */  	}; +	uchar enetaddr[6];  	/* Ethernet Addr... */ -	eeprom[0x0a] = ((bis->bi_enetaddr[1] & 0xff) << 8) | (bis->bi_enetaddr[0] & 0xff); -	eeprom[0x0b] = ((bis->bi_enetaddr[3] & 0xff) << 8) | (bis->bi_enetaddr[2] & 0xff); -	eeprom[0x0c] = ((bis->bi_enetaddr[5] & 0xff) << 8) | (bis->bi_enetaddr[4] & 0xff); +	if (!eth_getenv_enetaddr("ethaddr", enetaddr)) +		return; +	eeprom[0x0a] = (enetaddr[1] << 8) | enetaddr[0]; +	eeprom[0x0b] = (enetaddr[3] << 8) | enetaddr[2]; +	eeprom[0x0c] = (enetaddr[5] << 8) | enetaddr[4];  	for (i=0; i<0x40; i++) {  		write_srom(dev, DE4X5_APROM, i, eeprom[i]); |