compulab: eeprom: propagate error value in read_mac_addr()
authorNikita Kiryanov <nikita@compulab.co.il>
Sun, 6 Sep 2015 08:48:36 +0000 (11:48 +0300)
committerStefano Babic <sbabic@denx.de>
Sun, 13 Sep 2015 08:35:43 +0000 (10:35 +0200)
cl_eeprom_read_mac_addr() doesn't differentiate between success case and
inability to access eeprom. Fix this by propagating the return value of
cl_eeprom_setup().

Cc: Stefano Babic <sbabic@denx.de>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
board/compulab/common/eeprom.c

index aaacd2e..9f18a3d 100644 (file)
@@ -105,9 +105,11 @@ void get_board_serial(struct tag_serialnr *serialnr)
 int cl_eeprom_read_mac_addr(uchar *buf, uint eeprom_bus)
 {
        uint offset;
+       int err;
 
-       if (cl_eeprom_setup(eeprom_bus))
-               return 0;
+       err = cl_eeprom_setup(eeprom_bus);
+       if (err)
+               return err;
 
        offset = (cl_eeprom_layout != LAYOUT_LEGACY) ?
                        MAC_ADDR_OFFSET : MAC_ADDR_OFFSET_LEGACY;