The domain_init callback can return error. Check it and progate the
error if necessary.
Signed-off-by: Julien Grall <julien.grall@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
int domain_vgic_init(struct domain *d, unsigned int nr_spis)
{
int i;
+ int ret;
d->arch.vgic.ctlr = 0;
for (i=0; i<DOMAIN_NR_RANKS(d); i++)
spin_lock_init(&d->arch.vgic.shared_irqs[i].lock);
- d->arch.vgic.handler->domain_init(d);
+ ret = d->arch.vgic.handler->domain_init(d);
+ if ( ret )
+ return ret;
d->arch.vgic.allocated_irqs =
xzalloc_array(unsigned long, BITS_TO_LONGS(vgic_num_irqs(d)));