asix-sigma: Fixup the download of the last data acquisition chunk

Correctly determine the size of a download chunk for the last DRAM row
that's involved in the recent data acquisition.

This commit is based on work done by jry@.

This addresses bug #838 (trailing garbage).

It's assumed that the previously downloaded excess data was "swallowed"
by the sample count enforcement logic that was applied earlier, so the
(remainder of the) issue could have gone unnoticed, unless some other
termination condition than sample count was used.
This commit is contained in:
Gerhard Sittig 2017-05-26 02:18:33 +02:00 committed by Uwe Hermann
parent 468f17f2d6
commit 547c4cdc60
1 changed files with 1 additions and 1 deletions

View File

@ -1076,7 +1076,7 @@ static int download_capture(struct sr_dev_inst *sdi)
while (dl_lines_total > dl_lines_done) {
/* We can download only up-to 32 DRAM lines in one go! */
dl_lines_curr = MIN(chunks_per_read, dl_lines_total);
dl_lines_curr = MIN(chunks_per_read, dl_lines_total - dl_lines_done);
bufsz = sigma_read_dram(dl_lines_done, dl_lines_curr,
(uint8_t *)dram_line, devc);