if (!info->backend->name || (len + 1 > name_size)) {
_E("%s: Invalid size of name[] array\n", info->module_name);
ret = -EINVAL;
- goto err_conf_exit;
+ goto err_close_backend;
}
strncpy(name, info->backend->name, len);
if (!info->backend->vendor || (len + 1 > vendor_size)) {
_E("%s: Invalid size of vendor[] array\n", info->module_name);
ret = -EINVAL;
- goto err_conf_exit;
+ goto err_close_backend;
}
strncpy(vendor, info->backend->vendor, len);
} else {
_E("%s: Failed to get backend data\n", info->module_name);
ret = -EINVAL;
- goto err_conf_exit;
+ goto err_close_backend;
}
ret = 0;
+err_close_backend:
+ __close_backend(info);
err_conf_exit:
_hal_api_conf_exit();
err_unlock: