net/sfc/base: add equal stride super-buffer prefix layout
[dpdk.git] / drivers / net / sfc / base / ef10_nvram.c
index 6c670f2..2883ec8 100644 (file)
@@ -1349,12 +1349,16 @@ ef10_nvram_partn_read_tlv(
         */
        retry = 10;
        do {
-               rc = ef10_nvram_read_tlv_segment(enp, partn, 0,
-                   seg_data, partn_size);
-       } while ((rc == EAGAIN) && (--retry > 0));
+               if ((rc = ef10_nvram_read_tlv_segment(enp, partn, 0,
+                   seg_data, partn_size)) != 0)
+                       --retry;
+       } while ((rc == EAGAIN) && (retry > 0));
 
        if (rc != 0) {
                /* Failed to obtain consistent segment data */
+               if (rc == EAGAIN)
+                       rc = EIO;
+
                goto fail4;
        }