summaryrefslogtreecommitdiff
path: root/board/cmc_pu2
diff options
context:
space:
mode:
Diffstat (limited to 'board/cmc_pu2')
-rw-r--r--board/cmc_pu2/load_sernum_ethaddr.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/board/cmc_pu2/load_sernum_ethaddr.c b/board/cmc_pu2/load_sernum_ethaddr.c
index 5ef9f20..f02406c 100644
--- a/board/cmc_pu2/load_sernum_ethaddr.c
+++ b/board/cmc_pu2/load_sernum_ethaddr.c
@@ -66,7 +66,7 @@ int i2c_read (unsigned char chip, unsigned int addr, int alen,
* Internal structure: see struct definition
*/
-void misc_init_r(void)
+int misc_init_r(void)
{
struct manufacturer_data data;
char serial [9];
@@ -80,7 +80,7 @@ void misc_init_r(void)
if (i2c_read(I2C_CHIP, I2C_OFFSET, I2C_ALEN, (unsigned char *)&data,
sizeof(data)) != 0) {
puts ("Error reading manufacturer data from EEPROM\n");
- return;
+ return -1;
}
/* check if manufacturer data block is valid */
@@ -93,7 +93,7 @@ void misc_init_r(void)
if (chksum != data.chksum) {
puts ("Error: manufacturer data block has invalid checksum\n");
- return;
+ return -1;
}
/* copy serial number */
@@ -107,4 +107,6 @@ void misc_init_r(void)
if (getenv("ethaddr") == NULL) {
eth_setenv_enetaddr("ethaddr", data.macadr);
}
+
+ return 0;
}