FreeBSD/sys/dev/ixl/ixl_pf_main.c
/*
 * Teardown and release the admin queue/misc vector
 * interrupt.
 */
Teardown and release the admin queue/misc vector
interrupt.
Teardown and release the admin queue / misc vector interrupt .
int
ixl_teardown_adminq_msix(struct ixl_pf *pf)
{
	device_t		dev = pf->dev;
	int			rid;
	if (pf->admvec) 
		rid = pf->admvec + 1;
	else
		(pf->msix != 0) ? (rid = 1):(rid = 0);
	if (pf->tag != NULL) {
		bus_teardown_intr(dev, pf->res, pf->tag);
		pf->tag = NULL;
	}
	if (pf->res != NULL) {
		bus_release_resource(dev, SYS_RES_IRQ, rid, pf->res);
		pf->res = NULL;
	}
	return (0);
}
int ixl_teardown_adminq_msix ( struct ixl_pf * pf ) { device_t dev = pf -> dev ; int rid ; if ( pf -> admvec ) rid = pf -> admvec + 1 ; else ( pf -> msix != 0 ) ? ( rid = 1 ) : ( rid = 0 ) ; if ( pf -> tag != NULL ) { bus_teardown_intr ( dev , pf -> res , pf -> tag ) ; pf -> tag = NULL ; } if ( pf -> res != NULL ) { bus_release_resource ( dev , SYS_RES_IRQ , rid , pf -> res ) ; pf -> res = NULL ; } return ( 0 ) ; }
Teardown and release the admin queue/misc vector
 interrupt.
Teardown and release the admin queue / misc vector interrupt .
/* we are doing MSIX */