diff options
author | Spencer Oliver <ntfreak@users.sourceforge.net> | 2010-05-10 14:15:12 +0100 |
---|---|---|
committer | Spencer Oliver <ntfreak@users.sourceforge.net> | 2010-05-10 15:39:56 +0100 |
commit | 3650981de7e5854b5023fddeb1a4656794a0aae0 (patch) | |
tree | 6cdc7234382d2d3f8b6f3a168ad1e486772e5379 /src/target | |
parent | 2ae192699f5aaa911a874b85669fc803e4a29804 (diff) | |
download | openocd+libswd-3650981de7e5854b5023fddeb1a4656794a0aae0.tar.gz openocd+libswd-3650981de7e5854b5023fddeb1a4656794a0aae0.tar.bz2 openocd+libswd-3650981de7e5854b5023fddeb1a4656794a0aae0.tar.xz openocd+libswd-3650981de7e5854b5023fddeb1a4656794a0aae0.zip |
mips32: 20 second timeout/megabyte for CRC check
There was a fixed 20 second timeout which is too little
for large, slow timeout checks.
Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
Diffstat (limited to 'src/target')
-rw-r--r-- | src/target/mips32.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/target/mips32.c b/src/target/mips32.c index de8253fc..0923a792 100644 --- a/src/target/mips32.c +++ b/src/target/mips32.c @@ -662,8 +662,10 @@ int mips32_checksum_memory(struct target *target, uint32_t address, init_reg_param(®_params[1], "a1", 32, PARAM_OUT); buf_set_u32(reg_params[1].value, 0, 32, count); + int timeout = 20000 * (1 + (count / (1024 * 1024))); + if ((retval = target_run_algorithm(target, 0, NULL, 2, reg_params, - crc_algorithm->address, crc_algorithm->address + (sizeof(mips_crc_code)-4), 10000, + crc_algorithm->address, crc_algorithm->address + (sizeof(mips_crc_code)-4), timeout, &mips32_info)) != ERROR_OK) { destroy_reg_param(®_params[0]); |