At least Falcon Ridge when in host mode does not have any kind of DROM
available and reading DROM offset returns 0 for these. Do not try to
read DROM any further in that case.

Signed-off-by: Mika Westerberg <mika.westerb...@linux.intel.com>
Reviewed-by: Yehezkel Bernat <yehezkel.ber...@intel.com>
Reviewed-by: Michael Jamet <michael.ja...@intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevche...@linux.intel.com>
---
 drivers/thunderbolt/eeprom.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/thunderbolt/eeprom.c b/drivers/thunderbolt/eeprom.c
index 6392990c984d..e4e64b130514 100644
--- a/drivers/thunderbolt/eeprom.c
+++ b/drivers/thunderbolt/eeprom.c
@@ -276,6 +276,9 @@ int tb_drom_read_uid_only(struct tb_switch *sw, u64 *uid)
        if (res)
                return res;
 
+       if (drom_offset == 0)
+               return -ENODEV;
+
        /* read uid */
        res = tb_eeprom_read_n(sw, drom_offset, data, 9);
        if (res)
-- 
2.11.0

Reply via email to