xen/arm: vGIC: Check return of the domain_init callback

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>
This commit is contained in:
Julien Grall authored and Ian Campbell committed 2015-07-03 10:07:14 +01:00
1 parent add07bb528
commit 685cddcdde
1 file changed
+4 -1
+4 -1
View File
@@ -71,6 +71,7 @@ static void vgic_init_pending_irq(struct pending_irq *p, unsigned int virq)
int domain_vgic_init(struct domain *d, unsigned int nr_spis)
{
int i;
int ret;
d->arch.vgic.ctlr = 0;
@@ -114,7 +115,9 @@ int domain_vgic_init(struct domain *d, unsigned int nr_spis)
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)));
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.