diff --git a/lib/device/dev-cache.c b/lib/device/dev-cache.c index 1d7a517e2..ba4ee5462 100644 --- a/lib/device/dev-cache.c +++ b/lib/device/dev-cache.c @@ -1009,9 +1009,11 @@ struct dev_iter *dev_iter_create(struct dev_filter *f, int dev_scan) if (dev_scan && !trust_cache()) { /* Flag gets reset between each command */ if (!full_scan_done()) { - if (f && f->wipe) - f->wipe(f); /* Calls _full_scan(1) */ - else + if (f && f->wipe) { + f->wipe(f); /* might call _full_scan(1) */ + if (!full_scan_done()) + _full_scan(1); + } else _full_scan(1); } } else