diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c index 7eb719f0de..7b59535ee3 100644 --- a/xen/common/event_channel.c +++ b/xen/common/event_channel.c @@ -618,7 +618,9 @@ static int evtchn_bind_pirq(evtchn_bind_pirq_t *bind) if ( rc != 0 ) { info->evtchn = 0; +#ifdef CONFIG_X86 pirq_cleanup_check(info, d); +#endif goto out; } @@ -688,8 +690,8 @@ int evtchn_close(struct domain *d1, int port1, bool guest) * The successful path of unmap_domain_pirq_emuirq() will have * called pirq_cleanup_check() already. */ -#endif pirq_cleanup_check(pirq, d1); +#endif } unlink_pirq_port(chn1, d1->vcpu[chn1->notify_vcpu_id]); break;