This may happen if the acquisition_start is called right after calling
acquisition_stop and not all transfers have been freed or on repeated calls to
acquisition_start. If it happens we'll enter an undefined state and all kind of
strange behavior may occur, so error out in such a case.
Signed-off-by: Lars-Peter Clausen <redacted>
if (!(sdi = sr_dev_inst_get(dev_insts, dev_index)))
return SR_ERR;
ctx = sdi->priv;
+
+ if (ctx->submitted_transfers != 0)
+ return SR_ERR;
+
ctx->session_dev_id = cb_data;
ctx->num_samples = 0;
ctx->empty_transfer_count = 0;