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 <sba...@denx.de>
Cc: Igor Grinberg <grinb...@compulab.co.il>
Signed-off-by: Nikita Kiryanov <nik...@compulab.co.il>
---
Changes in V2:
        - New patch

 board/compulab/common/eeprom.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/board/compulab/common/eeprom.c b/board/compulab/common/eeprom.c
index aaacd2e..9f18a3d 100644
--- a/board/compulab/common/eeprom.c
+++ b/board/compulab/common/eeprom.c
@@ -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;
-- 
1.9.1

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

Reply via email to