diff --git a/src/target/mips32.c b/src/target/mips32.c index de8253fce..0923a7929 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]);