target: check late abort from target in async_algorithm
target_run_flash_async_algorithm() ignored abort from target (rp set to 0) when raised after all data have been written in fifo. I could result e.g. in not reported error during flash write. The change adds rp test after target algorithm has finished. Change-Id: Iadd93371e4a4602737be10079479285d81ae41b2 Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: http://openocd.zylin.com/3560 Tested-by: jenkins Reviewed-by: Steven Stallion <stallion@squareup.com> Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
This commit is contained in:
parent
8160cfb7db
commit
ccb4a913c2
|
@ -1014,6 +1014,15 @@ int target_run_flash_async_algorithm(struct target *target,
|
||||||
retval = retval2;
|
retval = retval2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (retval == ERROR_OK) {
|
||||||
|
/* check if algorithm set rp = 0 after fifo writer loop finished */
|
||||||
|
retval = target_read_u32(target, rp_addr, &rp);
|
||||||
|
if (retval == ERROR_OK && rp == 0) {
|
||||||
|
LOG_ERROR("flash write algorithm aborted by target");
|
||||||
|
retval = ERROR_FLASH_OPERATION_FAILED;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue