From: Daniel Elstner Date: Thu, 23 Jan 2014 00:24:29 +0000 (+0100) Subject: sysclk-lwla: Do not reset drv_context.instances on scan. X-Git-Tag: libsigrok-0.3.0~194 X-Git-Url: https://sigrok.org/gitweb/?p=libsigrok.git;a=commitdiff_plain;h=50cad98d1ba595d6e2da900dbe212b293a058189 sysclk-lwla: Do not reset drv_context.instances on scan. Apparently, frontends may call scan() more than once to accumulate multiple devices, so do not reset the instance list pointer at the start of each scan. Also, number devices continuously across scans. --- diff --git a/hardware/sysclk-lwla/api.c b/hardware/sysclk-lwla/api.c index 5bae5d54..8b15b696 100644 --- a/hardware/sysclk-lwla/api.c +++ b/hardware/sysclk-lwla/api.c @@ -91,7 +91,6 @@ static GSList *scan(GSList *options) int device_index; drvc = di->priv; - drvc->instances = NULL; conn = USB_VID_PID; for (node = options; node != NULL; node = node->next) { @@ -103,7 +102,7 @@ static GSList *scan(GSList *options) } usb_devices = sr_usb_find(drvc->sr_ctx->libusb_ctx, conn); devices = NULL; - device_index = 0; + device_index = g_slist_length(drvc->instances); for (node = usb_devices; node != NULL; node = node->next) { usb = node->data;