flash/nor/core, target: don't ask for working mem if no target algo
authorTomas Vanek <vanekt@fbl.cz>
Fri, 19 Nov 2021 21:03:44 +0000 (22:03 +0100)
committerTomas Vanek <vanekt@fbl.cz>
Sun, 29 May 2022 15:47:21 +0000 (15:47 +0000)
The command 'flash erase_check' showed the message
'Running slow fallback erase check - add working memory'
even in the case the target didn't implement blank_check_memory.

Change return code of target_blank_check_memory() in this case
and sense it in default_flash_blank_check() and show a message
without a request for working memory.

Change-Id: I7cf9bf77742964b4f377c9ce48ca689e57d0882f
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: https://review.openocd.org/c/openocd/+/6765
Tested-by: jenkins
Reviewed-by: Tim Newsome <tim@sifive.com>
src/flash/nor/core.c
src/target/target.c

index 30d387ae0c7ea5b1a547d5e5ac23a344e05e7e52..f4ff5dfb386af98c8309f4e623c983028c2236d8 100644 (file)
@@ -429,7 +429,11 @@ int default_flash_blank_check(struct flash_bank *bank)
                        bank->sectors[i].is_erased = block_array[i].result;
                retval = ERROR_OK;
        } else {
-               LOG_USER("Running slow fallback erase check - add working memory");
+               if (retval == ERROR_NOT_IMPLEMENTED)
+                       LOG_USER("Running slow fallback erase check");
+               else
+                       LOG_USER("Running slow fallback erase check - add working memory");
+
                retval = default_flash_mem_blank_check(bank);
        }
        free(block_array);
index 596364cdc49ed233b5c13d79a23ba4a361db8781..76327b1c771a6e0748ccc8b38c259546ce29d810 100644 (file)
@@ -2590,7 +2590,7 @@ int target_blank_check_memory(struct target *target,
        }
 
        if (!target->type->blank_check_memory)
-               return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
+               return ERROR_NOT_IMPLEMENTED;
 
        return target->type->blank_check_memory(target, blocks, num_blocks, erased_value);
 }