X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fdemo%2Fdemo.c;h=73fe092727f604423c21afdbd520023cd7eab799;hb=d2e0b1fa71b90faf1f7e77b72627868baf5e9135;hp=d2497d5a4871c69ea0733fb3b7d62ede3c8d5e0c;hpb=ed20a42803c8b4e79b259ae03298dec88f2299f5;p=libsigrok.git diff --git a/hardware/demo/demo.c b/hardware/demo/demo.c index d2497d5a..73fe0927 100644 --- a/hardware/demo/demo.c +++ b/hardware/demo/demo.c @@ -172,8 +172,8 @@ static GSList *hw_scan(GSList *options) sdi = sr_dev_inst_new(0, SR_ST_ACTIVE, DEMONAME, NULL, NULL); if (!sdi) { - sr_err("%s: sr_dev_inst_new failed", __func__); - return 0; + sr_err("Device instance creation failed."); + return NULL; } sdi->driver = di; @@ -188,8 +188,8 @@ static GSList *hw_scan(GSList *options) drvc->instances = g_slist_append(drvc->instances, sdi); if (!(devc = g_try_malloc(sizeof(struct dev_context)))) { - sr_err("%s: devc malloc failed", __func__); - return SR_ERR_MALLOC; + sr_err("Device context malloc failed."); + return NULL; } devc->sdi = sdi; @@ -286,7 +286,7 @@ static int config_get(int id, GVariant **data, const struct sr_dev_inst *sdi) } break; default: - return SR_ERR_ARG; + return SR_ERR_NA; } return SR_OK; @@ -335,7 +335,7 @@ static int config_set(int id, GVariant *data, const struct sr_dev_inst *sdi) sr_dbg("%s: setting pattern to %d", __func__, devc->sample_generator); } else { - ret = SR_ERR; + ret = SR_ERR_NA; } return ret; @@ -364,7 +364,7 @@ static int config_list(int key, GVariant **data, const struct sr_dev_inst *sdi) *data = g_variant_new_strv(pattern_strings, ARRAY_SIZE(pattern_strings)); break; default: - return SR_ERR_ARG; + return SR_ERR_NA; } return SR_OK; @@ -509,6 +509,8 @@ static int hw_dev_acquisition_stop(struct sr_dev_inst *sdi, void *cb_data) sr_session_source_remove_channel(devc->channel); g_io_channel_shutdown(devc->channel, FALSE, NULL); + g_io_channel_unref(devc->channel); + devc->channel = NULL; /* Send last packet. */ packet.type = SR_DF_END;