- logic.unitsize = sizeof(*devc->trigger_buffer);
- logic.length = devc->trigger_stage * logic.unitsize;
- logic.data = devc->trigger_buffer;
+ num_samples = cur_sample_count - trigger_offset;
+ if (devc->limit_samples &&
+ num_samples > devc->limit_samples - devc->sent_samples)
+ num_samples = devc->limit_samples - devc->sent_samples;
+ logic.length = num_samples * sample_width;
+ logic.unitsize = sample_width;
+ logic.data = cur_buf + trigger_offset * sample_width;