X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=backend.c;h=62a7651753986114e49e9711b2f236c1ddb49046;hb=79bb0e97d53526ef6deb491ea9c7698ed6e90631;hp=22f65a7c515174a6513c2f7d7c34d2fdb2584c74;hpb=55a6daf59f85449d99a62b0a3b6010980125d38d;p=libsigrok.git diff --git a/backend.c b/backend.c index 22f65a7c..62a76517 100644 --- a/backend.c +++ b/backend.c @@ -165,20 +165,21 @@ static int sanity_check_all_drivers(void) sr_err("No dev_clear in driver %d ('%s').", i, d); errors++; } - if (!drivers[i]->dev_open) { - sr_err("No dev_open in driver %d ('%s').", i, d); + /* Note: config_get() is optional. */ + if (!drivers[i]->config_set) { + sr_err("No config_set in driver %d ('%s').", i, d); errors++; } - if (!drivers[i]->dev_close) { - sr_err("No dev_close in driver %d ('%s').", i, d); + if (!drivers[i]->config_list) { + sr_err("No config_list in driver %d ('%s').", i, d); errors++; } - if (!drivers[i]->info_get) { - sr_err("No info_get in driver %d ('%s').", i, d); + if (!drivers[i]->dev_open) { + sr_err("No dev_open in driver %d ('%s').", i, d); errors++; } - if (!drivers[i]->dev_config_set) { - sr_err("No dev_config_set in driver %d ('%s').", i, d); + if (!drivers[i]->dev_close) { + sr_err("No dev_close in driver %d ('%s').", i, d); errors++; } if (!drivers[i]->dev_acquisition_start) { @@ -244,14 +245,18 @@ SR_API int sr_init(struct sr_context **ctx) ret = libusb_init(&context->libusb_ctx); if (LIBUSB_SUCCESS != ret) { sr_err("libusb_init() returned %s.\n", libusb_error_name(ret)); + ret = SR_ERR; goto done; } #endif *ctx = context; + context = NULL; ret = SR_OK; done: + if (context) + g_free(context); return ret; }