diff --git a/src/target/target.c b/src/target/target.c index a8d3cba96..8a7547b8a 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -938,7 +938,7 @@ int target_run_flash_async_algorithm(struct target *target, break; } - if ((rp & (block_size - 1)) || rp < fifo_start_addr || rp >= fifo_end_addr) { + if (((rp - fifo_start_addr) & (block_size - 1)) || rp < fifo_start_addr || rp >= fifo_end_addr) { LOG_ERROR("corrupted fifo read pointer 0x%" PRIx32, rp); break; }