Print this page
XXXX introduce drv_sectohz
*** 5706,5716 ****
/* HBA is no longer responsible for nodes on the barrier list. */
scsi_hba_barrier_tran_tgt_free(probe);
nb = kmem_alloc(sizeof (struct scsi_hba_barrier), KM_SLEEP);
mutex_enter(&scsi_hba_barrier_mutex);
! endtime = ddi_get_lbolt() + drv_usectohz(seconds * MICROSEC);
for (bp = &scsi_hba_barrier_list; (b = *bp) != NULL;
bp = &b->barrier_next)
if (b->barrier_endtime > endtime)
break;
nb->barrier_next = *bp;
--- 5706,5716 ----
/* HBA is no longer responsible for nodes on the barrier list. */
scsi_hba_barrier_tran_tgt_free(probe);
nb = kmem_alloc(sizeof (struct scsi_hba_barrier), KM_SLEEP);
mutex_enter(&scsi_hba_barrier_mutex);
! endtime = ddi_get_lbolt() + drv_sectohz(seconds);
for (bp = &scsi_hba_barrier_list; (b = *bp) != NULL;
bp = &b->barrier_next)
if (b->barrier_endtime > endtime)
break;
nb->barrier_next = *bp;
*** 6209,6219 ****
*/
scsi_hba_devi_exit(self, *circp);
mutex_enter(&DEVI(self)->devi_lock);
(void) cv_timedwait(&DEVI(self)->devi_cv,
&DEVI(self)->devi_lock,
! ddi_get_lbolt() + drv_usectohz(MICROSEC));
mutex_exit(&DEVI(self)->devi_lock);
scsi_hba_devi_enter(self, circp);
}
ASSERT(probe == NULL);
--- 6209,6219 ----
*/
scsi_hba_devi_exit(self, *circp);
mutex_enter(&DEVI(self)->devi_lock);
(void) cv_timedwait(&DEVI(self)->devi_cv,
&DEVI(self)->devi_lock,
! ddi_get_lbolt() + drv_sectohz(1));
mutex_exit(&DEVI(self)->devi_lock);
scsi_hba_devi_enter(self, circp);
}
ASSERT(probe == NULL);