Free the USB transfers in the reverse order of which they were submitted. This will avoid that while transfer 0 is canceld transfer 1 is started by the host controller, and so on.
Reported-by: Peter Stuge <[email protected]> Signed-off-by: Lars-Peter Clausen <[email protected]> --- libsigrok/hardware/fx2lafw/fx2lafw.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libsigrok/hardware/fx2lafw/fx2lafw.c b/libsigrok/hardware/fx2lafw/fx2lafw.c index be84761..f440484 100644 --- a/libsigrok/hardware/fx2lafw/fx2lafw.c +++ b/libsigrok/hardware/fx2lafw/fx2lafw.c @@ -662,11 +662,11 @@ static int receive_data(int fd, int revents, void *cb_data) static void abort_acquisition(struct context *ctx) { - unsigned int i; + int i; ctx->num_samples = -1; - for (i = 0; i < ctx->num_transfers; i++) { + for (i = ctx->num_transfers; i >= 0; i--) { if (ctx->transfers[i]) libusb_cancel_transfer(ctx->transfers[i]); } -- 1.7.10 ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ sigrok-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/sigrok-devel

