Print this page
XXXX introduce drv_sectohz
*** 1472,1482 ****
* queue can still have I/O's. This way we preserve
* order of biodone's.
*/
wait_cmds_complete = ddi_get_lbolt();
wait_cmds_complete +=
! st_wait_cmds_complete * drv_usectohz(1000000);
while (un->un_ncmds || un->un_quef ||
(un->un_state == ST_STATE_RESOURCE_WAIT)) {
if (cv_timedwait(&un->un_tape_busy_cv, ST_MUTEX,
wait_cmds_complete) == -1) {
--- 1472,1482 ----
* queue can still have I/O's. This way we preserve
* order of biodone's.
*/
wait_cmds_complete = ddi_get_lbolt();
wait_cmds_complete +=
! drv_sectohz(st_wait_cmds_complete);
while (un->un_ncmds || un->un_quef ||
(un->un_state == ST_STATE_RESOURCE_WAIT)) {
if (cv_timedwait(&un->un_tape_busy_cv, ST_MUTEX,
wait_cmds_complete) == -1) {
*** 6493,6503 ****
func fnc = (func)st_runout;
scsi_log(ST_DEVINFO, st_label, SCSI_DEBUG,
"Sending delayed start to st_runout()\n");
mutex_exit(ST_MUTEX);
! (void) timeout(fnc, un, drv_usectohz(1000000));
mutex_enter(ST_MUTEX);
}
return;
}
}
--- 6493,6503 ----
func fnc = (func)st_runout;
scsi_log(ST_DEVINFO, st_label, SCSI_DEBUG,
"Sending delayed start to st_runout()\n");
mutex_exit(ST_MUTEX);
! (void) timeout(fnc, un, drv_sectohz(1));
mutex_enter(ST_MUTEX);
}
return;
}
}
*** 17614,17624 ****
* XXX Newer drives may not RESEVATION CONFLICT a TUR.
*/
do {
if (rval != 0) {
mutex_exit(ST_MUTEX);
! delay(drv_usectohz(1000000));
mutex_enter(ST_MUTEX);
}
rval = st_rcmd(un, SCMD_TEST_UNIT_READY, 0, SYNC_CMD);
ST_RECOV(ST_DEVINFO, st_label, CE_NOTE,
"ping TUR returned 0x%x", rval);
--- 17614,17624 ----
* XXX Newer drives may not RESEVATION CONFLICT a TUR.
*/
do {
if (rval != 0) {
mutex_exit(ST_MUTEX);
! delay(drv_sectohz(1));
mutex_enter(ST_MUTEX);
}
rval = st_rcmd(un, SCMD_TEST_UNIT_READY, 0, SYNC_CMD);
ST_RECOV(ST_DEVINFO, st_label, CE_NOTE,
"ping TUR returned 0x%x", rval);