X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fdevice.c;h=ae8f3b8ce5a540f6697c89ba2454dd11d2a8cb56;hb=e0b6855bd4daca9f1a27b8e4e0d16b019d5d54e4;hp=9ba8bfc570cb43ed9bec54a661904b45ec6f7e88;hpb=f1ba6b4b2c9a8ecf90bb31efb218752aa7e49d1a;p=libsigrok.git diff --git a/src/device.c b/src/device.c index 9ba8bfc5..ae8f3b8c 100644 --- a/src/device.c +++ b/src/device.c @@ -529,19 +529,24 @@ SR_API GSList *sr_dev_list(const struct sr_dev_driver *driver) */ SR_API int sr_dev_clear(const struct sr_dev_driver *driver) { - int ret; - if (!driver) { sr_err("Invalid driver."); return SR_ERR_ARG; } - if (driver->dev_clear) - ret = driver->dev_clear(driver); - else - ret = std_dev_clear(driver, NULL); + if (!driver->context) { + /* + * Driver was never initialized, nothing to do. + * + * No log message since this usually gets called for all + * drivers, whether they were initialized or not. + */ + return SR_OK; + } - return ret; + /* No log message here, too verbose and not very useful. */ + + return driver->dev_clear(driver); } /**