ops.oobbuf = (void *) oob_buf;
ret = nand->read_oob(nand, ENV_OFFSET_SIZE, &ops);
+ if (ret) {
+ printf("error reading OOB block 0\n");
+ return ret;
+ }
- if (!ret) {
- if (oob_buf[0] == ENV_OOB_MARKER) {
- *result = oob_buf[1] * nand->erasesize;
- } else if (oob_buf[0] == ENV_OOB_MARKER_OLD) {
- *result = oob_buf[1];
- } else {
- printf("No dynamic environment marker in OOB block 0"
- "\n");
- ret = -ENOENT;
- goto fail;
- }
+ if (oob_buf[0] == ENV_OOB_MARKER) {
+ *result = oob_buf[1] * nand->erasesize;
+ } else if (oob_buf[0] == ENV_OOB_MARKER_OLD) {
+ *result = oob_buf[1];
} else {
- printf("error reading OOB block 0\n");
+ printf("No dynamic environment marker in OOB block 0\n");
+ return -ENOENT;
}
-fail:
- return ret;
+
+ return 0;
}
#endif