diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c index 0b072bdee6..88ae40f954 100644 --- a/xen/common/sched/core.c +++ b/xen/common/sched/core.c @@ -483,18 +483,17 @@ static struct sched_unit *sched_alloc_unit_mem(void) static void sched_domain_insert_unit(struct sched_unit *unit, struct domain *d) { - struct sched_unit **prev_unit; + struct sched_unit **next_unit; unit->domain = d; - for ( prev_unit = &d->sched_unit_list; *prev_unit; - prev_unit = &(*prev_unit)->next_in_list ) - if ( (*prev_unit)->next_in_list && - (*prev_unit)->next_in_list->unit_id > unit->unit_id ) + for ( next_unit = &d->sched_unit_list; *next_unit; + next_unit = &(*next_unit)->next_in_list ) + if ( (*next_unit)->unit_id > unit->unit_id ) break; - unit->next_in_list = *prev_unit; - *prev_unit = unit; + unit->next_in_list = *next_unit; + *next_unit = unit; } static struct sched_unit *sched_alloc_unit(struct vcpu *v)