Index: sys/xen/xen_intr.c =================================================================== --- sys/xen/xen_intr.c +++ sys/xen/xen_intr.c @@ -467,7 +467,16 @@ failrelease: xen_intr_release_isrc(isrc); + while(0) { failearly: + if (params->xi_close) { + evtchn_close_t close = { .port = params->xi_port }; + if (HYPERVISOR_event_channel_op(EVTCHNOP_close, &close)) + panic("EVTCHNOP_close failed"); + } + } + +failcomm: *port_handlep = NULL; return (error); }