diff --git a/projects/rocr-runtime/src/topology.c b/projects/rocr-runtime/src/topology.c index ef22517bb3..0a5b5d8cab 100644 --- a/projects/rocr-runtime/src/topology.c +++ b/projects/rocr-runtime/src/topology.c @@ -354,7 +354,8 @@ static int cpuid_find_num_cache_leaves(uint32_t op) do { ++idx; cpuid_count(op, idx, &eax.full, &ebx.full, &ecx, &edx); - } while (eax.split.type != CACHE_TYPE_NULL); + /* Modern systems have cache levels up to 3. */ + } while (eax.split.type != CACHE_TYPE_NULL && idx < 4); return idx; }