diff --git a/hardware/common/usb.c b/hardware/common/usb.c index c4d78f90..0de54b90 100644 --- a/hardware/common/usb.c +++ b/hardware/common/usb.c @@ -267,8 +267,11 @@ SR_PRIV int usb_callback(int fd, int revents, void *cb_data) g_mutex_lock(&ctx->usb_mutex); ret = ctx->usb_cb(fd, revents, ctx->usb_cb_data); - ResetEvent(ctx->usb_event); - g_mutex_unlock(&ctx->usb_mutex); + + if (ctx->usb_thread_running) { + ResetEvent(ctx->usb_event); + g_mutex_unlock(&ctx->usb_mutex); + } return ret; }