diff --git a/hardware/hameg-hmo/api.c b/hardware/hameg-hmo/api.c index 3b474921..9e1d6e1f 100644 --- a/hardware/hameg-hmo/api.c +++ b/hardware/hameg-hmo/api.c @@ -882,9 +882,14 @@ static int dev_acquisition_stop(struct sr_dev_inst *sdi, void *cb_data) { struct dev_context *devc; struct sr_scpi_dev_inst *scpi; + struct sr_datafeed_packet packet; (void)cb_data; + packet.type = SR_DF_END; + packet.payload = NULL; + sr_session_send(sdi, &packet); + if (sdi->status != SR_ST_ACTIVE) return SR_ERR_DEV_CLOSED; diff --git a/hardware/hameg-hmo/protocol.c b/hardware/hameg-hmo/protocol.c index 2f7f5ab4..f3de7638 100644 --- a/hardware/hameg-hmo/protocol.c +++ b/hardware/hameg-hmo/protocol.c @@ -621,8 +621,6 @@ SR_PRIV int hmo_receive_data(int fd, int revents, void *cb_data) devc->current_probe = devc->current_probe->next; hmo_request_data(sdi); } else if (++devc->num_frames == devc->frame_limit) { - packet.type = SR_DF_END; - sr_session_send(sdi, &packet); sdi->driver->dev_acquisition_stop(sdi, cb_data); } else { devc->current_probe = devc->enabled_probes;