summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/intel/common/gen_decoder.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/intel/common/gen_decoder.c b/src/intel/common/gen_decoder.c
index d09b6ea32b6..b3501aec912 100644
--- a/src/intel/common/gen_decoder.c
+++ b/src/intel/common/gen_decoder.c
@@ -824,14 +824,15 @@ iter_advance_group(struct gen_field_iterator *iter)
static bool
iter_advance_field(struct gen_field_iterator *iter)
{
- while (!iter_more_fields(iter)) {
+ if (iter_more_fields(iter)) {
+ iter->field = iter->field->next;
+ } else {
if (!iter_more_groups(iter))
return false;
iter_advance_group(iter);
}
- iter->field = iter->field->next;
if (iter->field->name)
strncpy(iter->name, iter->field->name, sizeof(iter->name));
else