Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/dpt/dpt_scsi.c
Show First 20 Lines • Show All 787 Lines • ▼ Show 20 Lines | if (ccb->ccb_h.status != CAM_REQ_INPROG) { | ||||
dptfreeccb(dpt, dccb); | dptfreeccb(dpt, dccb); | ||||
xpt_done(ccb); | xpt_done(ccb); | ||||
return; | return; | ||||
} | } | ||||
dccb->state |= DCCB_ACTIVE; | dccb->state |= DCCB_ACTIVE; | ||||
ccb->ccb_h.status |= CAM_SIM_QUEUED; | ccb->ccb_h.status |= CAM_SIM_QUEUED; | ||||
LIST_INSERT_HEAD(&dpt->pending_ccb_list, &ccb->ccb_h, sim_links.le); | LIST_INSERT_HEAD(&dpt->pending_ccb_list, &ccb->ccb_h, sim_links.le); | ||||
callout_reset(&dccb->timer, (ccb->ccb_h.timeout * hz) / 1000, | callout_reset_sbt(&dccb->timer, SBT_1MS * ccb->ccb_h.timeout, 0, | ||||
dpttimeout, dccb); | dpttimeout, dccb, 0); | ||||
if (dpt_send_eata_command(dpt, &dccb->eata_ccb, | if (dpt_send_eata_command(dpt, &dccb->eata_ccb, | ||||
dccb->eata_ccb.cp_busaddr, | dccb->eata_ccb.cp_busaddr, | ||||
EATA_CMD_DMA_SEND_CP, 0, 0, 0, 0) != 0) { | EATA_CMD_DMA_SEND_CP, 0, 0, 0, 0) != 0) { | ||||
ccb->ccb_h.status = CAM_NO_HBA; /* HBA dead or just busy?? */ | ccb->ccb_h.status = CAM_NO_HBA; /* HBA dead or just busy?? */ | ||||
if (nseg != 0) | if (nseg != 0) | ||||
bus_dmamap_unload(dpt->buffer_dmat, dccb->dmamap); | bus_dmamap_unload(dpt->buffer_dmat, dccb->dmamap); | ||||
dptfreeccb(dpt, dccb); | dptfreeccb(dpt, dccb); | ||||
xpt_done(ccb); | xpt_done(ccb); | ||||
▲ Show 20 Lines • Show All 1,718 Lines • Show Last 20 Lines |