hackintr_inf
static uint_t dnet_hack_intr(struct hackintr_inf *);
struct hackintr_inf *hackintr_inf;
dnetp->hackintr_inf = hackintr_inf =
kmem_zalloc(sizeof (struct hackintr_inf), KM_SLEEP);
if (hackintr_inf == NULL)
hackintr_inf->dnetps[0] = dnetp;
hackintr_inf->devinfo = devinfo;
(uchar_t *)&dnetp->hackintr_inf,
(caddr_t)hackintr_inf) != DDI_SUCCESS) {
mutex_init(&hackintr_inf->lock, NULL, MUTEX_DRIVER,
hackintr_inf = (struct hackintr_inf *)(uintptr_t)
if (hackintr_inf == NULL)
if (hackintr_inf->dnetps[i] == NULL)
hackintr_inf->dnetps[i] = dnetp;
dnet_hack_intr(struct hackintr_inf *hackintr_inf)
mutex_enter(&hackintr_inf->lock);
if (hackintr_inf->dnetps[i] &&
dnet_intr((caddr_t)hackintr_inf->dnetps[i]) ==
mutex_exit(&hackintr_inf->lock);
struct hackintr_inf *hackintr_inf;
hackintr_inf = (struct hackintr_inf *)(uintptr_t)
if (!hackintr_inf) {
mutex_enter(&hackintr_inf->lock);
if (hackintr_inf->dnetps[i] == dnetp) {
hackintr_inf->dnetps[i] = NULL;
mutex_exit(&hackintr_inf->lock);
if (devinfo != hackintr_inf->devinfo)
if ((altdnetp = hackintr_inf->dnetps[i]) != NULL) {
mutex_destroy(&hackintr_inf->lock);
kmem_free(hackintr_inf, sizeof (struct hackintr_inf));
struct hackintr_inf *hackintr_inf;