X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fsaleae-logic16%2Fprotocol.c;fp=hardware%2Fsaleae-logic16%2Fprotocol.c;h=785833432749f2f71f772a841699197e5d56da41;hb=102f12396660e0784134bccce5cc0679db325751;hp=8b430d90c01e91e5d62ce2c87af853faaa19376f;hpb=85b69c2b64fc3f0b0478063a983c1920bf0e30a7;p=libsigrok.git diff --git a/hardware/saleae-logic16/protocol.c b/hardware/saleae-logic16/protocol.c index 8b430d90..78583343 100644 --- a/hardware/saleae-logic16/protocol.c +++ b/hardware/saleae-logic16/protocol.c @@ -576,16 +576,19 @@ SR_PRIV int logic16_init_device(const struct sr_dev_inst *sdi) return SR_OK; } -static void finish_acquisition(struct dev_context *devc) +static void finish_acquisition(struct sr_dev_inst *sdi) { struct sr_datafeed_packet packet; + struct dev_context *devc; + + devc = sdi->priv; /* Terminate session. */ packet.type = SR_DF_END; sr_session_send(devc->cb_data, &packet); /* Remove fds from polling. */ - usb_source_remove(devc->ctx); + usb_source_remove(sdi->session, devc->ctx); devc->num_transfers = 0; g_free(devc->transfers); @@ -598,10 +601,12 @@ static void finish_acquisition(struct dev_context *devc) static void free_transfer(struct libusb_transfer *transfer) { + struct sr_dev_inst *sdi; struct dev_context *devc; unsigned int i; - devc = transfer->user_data; + sdi = transfer->user_data; + devc = sdi->priv; g_free(transfer->buffer); transfer->buffer = NULL; @@ -616,7 +621,7 @@ static void free_transfer(struct libusb_transfer *transfer) devc->submitted_transfers--; if (devc->submitted_transfers == 0) - finish_acquisition(devc); + finish_acquisition(sdi); } static void resubmit_transfer(struct libusb_transfer *transfer) @@ -679,11 +684,13 @@ SR_PRIV void logic16_receive_transfer(struct libusb_transfer *transfer) gboolean packet_has_error = FALSE; struct sr_datafeed_packet packet; struct sr_datafeed_logic logic; + struct sr_dev_inst *sdi; struct dev_context *devc; size_t new_samples, num_samples; int trigger_offset; - devc = transfer->user_data; + sdi = transfer->user_data; + devc = sdi->priv; /* * If acquisition has already ended, just free any queued up