void pppt_lport_task_free(scsi_task_t *task) { pppt_task_t *ptask = task->task_port_private; pppt_sess_t *ps = ptask->pt_sess; pppt_task_free(ptask); pppt_sess_rele(ps); }
static void pppt_task_rele(pppt_task_t *ptask) { boolean_t freeit; mutex_enter(&ptask->pt_mutex); ptask->pt_refcnt--; freeit = (ptask->pt_refcnt == 0); mutex_exit(&ptask->pt_mutex); if (freeit) pppt_task_free(ptask); }