From: Marek Vasut Date: Sun, 20 Apr 2014 17:57:02 +0000 (+0200) Subject: asix-sigma: Read position only in CAPTURE state X-Git-Tag: libsigrok-0.3.0~43 X-Git-Url: https://sigrok.org/gitweb/?a=commitdiff_plain;h=58d6f20748e6b33677da3b4a388ac3b8fcaa12f7;p=libsigrok.git asix-sigma: Read position only in CAPTURE state Check the position of ForceStop and Trigger events only in case we are in CAPTURE state, it's useless to do this unconditionally when receive_data() is called. Signed-off-by: Marek Vasut --- diff --git a/hardware/asix-sigma/asix-sigma.c b/hardware/asix-sigma/asix-sigma.c index 98607027..4d8f2383 100644 --- a/hardware/asix-sigma/asix-sigma.c +++ b/hardware/asix-sigma/asix-sigma.c @@ -1136,13 +1136,14 @@ static int receive_data(int fd, int revents, void *cb_data) sdi = cb_data; devc = sdi->priv; - /* Get the current position. */ - sigma_read_pos(&devc->state.stoppos, &devc->state.triggerpos, devc); - if (devc->state.state == SIGMA_IDLE) return TRUE; if (devc->state.state == SIGMA_CAPTURE) { + /* Get the current position. */ + sigma_read_pos(&devc->state.stoppos, &devc->state.triggerpos, + devc); + numchunks = (devc->state.stoppos + 511) / 512; /* Check if the timer has expired, or memory is full. */