Lines Matching refs:ccb_h

92 	    (scb->ccb->ccb_h.status & CAM_RELEASE_SIMQ) == 0) {
93 scb->ccb->ccb_h.status |= CAM_RELEASE_SIMQ;
108 CAM_DEBUG(ccb->ccb_h.path, CAM_DEBUG_TRACE, ("aic_action\n"));
112 switch (ccb->ccb_h.func_code) {
123 ccb->ccb_h.status = CAM_REQUEUE_REQ;
129 ccb->ccb_h.ccb_scb_ptr = scb;
130 ccb->ccb_h.ccb_aic_ptr = aic;
132 scb->target = ccb->ccb_h.target_id;
133 scb->lun = ccb->ccb_h.target_lun;
135 if (ccb->ccb_h.func_code == XPT_SCSI_IO) {
137 if (ccb->ccb_h.flags & CAM_CDB_POINTER) {
138 if (ccb->ccb_h.flags & CAM_CDB_PHYS) {
139 ccb->ccb_h.status = CAM_REQ_INVALID;
148 if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) {
149 if ((ccb->ccb_h.flags & CAM_DATA_MASK) !=
151 ccb->ccb_h.status = CAM_REQ_INVALID;
172 struct aic_tinfo *ti = &aic->tinfo[ccb->ccb_h.target_id];
218 ccb->ccb_h.status = CAM_REQ_CMP;
225 struct aic_tinfo *ti = &aic->tinfo[ccb->ccb_h.target_id];
260 ccb->ccb_h.status = CAM_REQ_CMP;
272 ccb->ccb_h.status = CAM_REQ_CMP;
297 cpi->ccb_h.status = CAM_REQ_CMP;
302 ccb->ccb_h.status = CAM_REQ_INVALID;
313 struct aic_softc *aic = (struct aic_softc *)ccb->ccb_h.ccb_aic_ptr;
318 if (ccb->ccb_h.status != CAM_REQ_INPROG) {
326 ccb->ccb_h.status |= CAM_SIM_QUEUED;
327 TAILQ_INSERT_TAIL(&aic->pending_ccbs, &ccb->ccb_h, sim_links.tqe);
329 ccb->ccb_h.timeout_ch = timeout(aic_timeout, (caddr_t)scb,
330 (ccb->ccb_h.timeout * hz) / 1000);
342 struct ccb_hdr *ccb_h;
348 TAILQ_FOREACH(ccb_h, &aic->pending_ccbs, sim_links.tqe) {
349 ti = &aic->tinfo[ccb_h->target_id];
350 if ((ti->lubusy & (1 << ccb_h->target_lun)) == 0) {
351 TAILQ_REMOVE(&aic->pending_ccbs, ccb_h, sim_links.tqe);
352 aic->nexus = (struct aic_scb *)ccb_h->ccb_scb_ptr;
373 CAM_DEBUG(scb->ccb->ccb_h.path, CAM_DEBUG_TRACE,
399 CAM_DEBUG(ccb->ccb_h.path, CAM_DEBUG_TRACE,
411 (ccb->ccb_h.flags & CAM_TAG_ACTION_VALID) != 0)
444 &aic->nexus->ccb->ccb_h, sim_links.tqe);
501 struct ccb_hdr *ccb_h;
507 TAILQ_FOREACH(ccb_h, &aic->nexus_ccbs, sim_links.tqe) {
508 scb = (struct aic_scb *)ccb_h->ccb_scb_ptr;
515 if (!ccb_h) {
525 TAILQ_REMOVE(&aic->nexus_ccbs, ccb_h, sim_links.tqe);
611 struct ccb_hdr *ccb_h;
642 ccb_h = &scb->ccb->ccb_h;
649 ccb_h->status |=
653 ccb_h->status |= CAM_AUTOSENSE_FAIL;
655 ccb_h, scb->status);
662 ccb_h->status |= CAM_REQ_CMP;
663 } else if ((ccb_h->flags & CAM_DIS_AUTOSENSE) == 0 &&
671 ccb_h->status |= CAM_SCSI_STATUS_ERROR;
709 ccb_h = &scb->ccb->ccb_h;
710 xpt_setup_ccb(&neg.ccb_h, ccb_h->path, 1);
711 xpt_async(AC_TRANSFER_NEG, ccb_h->path, &neg);
721 ccb_h = &scb->ccb->ccb_h;
722 TAILQ_INSERT_TAIL(&aic->nexus_ccbs, ccb_h, sim_links.tqe);
726 CAM_DEBUG(ccb_h->path, CAM_DEBUG_TRACE, ("disconnected\n"));
753 ccb_h = &scb->ccb->ccb_h;
754 xpt_setup_ccb(&neg.ccb_h, ccb_h->path, 1);
755 xpt_async(AC_TRANSFER_NEG, ccb_h->path, &neg);
817 !(ccb->ccb_h.flags & CAM_DIS_DISCONNECT));
1052 CAM_DEBUG(ccb->ccb_h.path, CAM_DEBUG_TRACE,
1054 ccb, ccb->ccb_h.status, ccb->csio.resid));
1056 untimeout(aic_timeout, (caddr_t)scb, ccb->ccb_h.timeout_ch);
1059 ccb->ccb_h.func_code != XPT_RESET_DEV) {
1061 struct ccb_hdr *ccb_h;
1074 ccb_h = TAILQ_FIRST(&aic->pending_ccbs);
1075 while (ccb_h != NULL) {
1078 pending_scb = (struct aic_scb *)ccb_h->ccb_scb_ptr;
1079 if (ccb_h->target_id == scb->target) {
1080 ccb_h->status |= CAM_BDR_SENT;
1081 ccb_h = TAILQ_NEXT(ccb_h, sim_links.tqe);
1083 &pending_scb->ccb->ccb_h, sim_links.tqe);
1086 ccb_h->timeout_ch =
1088 (ccb_h->timeout * hz) / 1000);
1089 ccb_h = TAILQ_NEXT(ccb_h, sim_links.tqe);
1093 ccb_h = TAILQ_FIRST(&aic->nexus_ccbs);
1094 while (ccb_h != NULL) {
1097 nexus_scb = (struct aic_scb *)ccb_h->ccb_scb_ptr;
1098 if (ccb_h->target_id == scb->target) {
1099 ccb_h->status |= CAM_BDR_SENT;
1100 ccb_h = TAILQ_NEXT(ccb_h, sim_links.tqe);
1102 &nexus_scb->ccb->ccb_h, sim_links.tqe);
1105 ccb_h->timeout_ch =
1107 (ccb_h->timeout * hz) / 1000);
1108 ccb_h = TAILQ_NEXT(ccb_h, sim_links.tqe);
1134 struct aic_softc *aic = (struct aic_softc *)ccb->ccb_h.ccb_aic_ptr;
1137 xpt_print_path(ccb->ccb_h.path);
1147 xpt_print_path(ccb->ccb_h.path);
1153 struct ccb_hdr *ccb_h = &scb->ccb->ccb_h;
1155 if ((ccb_h->status & CAM_RELEASE_SIMQ) == 0) {
1157 ccb_h->status |= CAM_RELEASE_SIMQ;
1160 TAILQ_FOREACH(ccb_h, &aic->pending_ccbs, sim_links.tqe) {
1161 untimeout(aic_timeout, (caddr_t)ccb_h->ccb_scb_ptr,
1162 ccb_h->timeout_ch);
1165 TAILQ_FOREACH(ccb_h, &aic->nexus_ccbs, sim_links.tqe) {
1166 untimeout(aic_timeout, (caddr_t)ccb_h->ccb_scb_ptr,
1167 ccb_h->timeout_ch);
1171 ccb->ccb_h.timeout_ch =
1176 ccb->ccb_h.status |= CAM_CMD_TIMEOUT;
1237 ccb->ccb_h.status = CAM_SEL_TIMEOUT;
1252 ccb->ccb_h.status = CAM_UNEXP_BUSFREE;
1256 if (ccb->ccb_h.func_code == XPT_RESET_DEV) {
1258 ccb->ccb_h.path, NULL);
1259 ccb->ccb_h.status |= CAM_REQ_CMP;
1261 ccb->ccb_h.status |= CAM_CMD_TIMEOUT;
1381 struct ccb_hdr *ccb_h;
1391 while ((ccb_h = TAILQ_FIRST(&aic->pending_ccbs)) != NULL) {
1392 TAILQ_REMOVE(&aic->pending_ccbs, ccb_h, sim_links.tqe);
1393 ccb_h->status |= CAM_SCSI_BUS_RESET;
1394 aic_done(aic, (struct aic_scb *)ccb_h->ccb_scb_ptr);
1397 while ((ccb_h = TAILQ_FIRST(&aic->nexus_ccbs)) != NULL) {
1398 TAILQ_REMOVE(&aic->nexus_ccbs, ccb_h, sim_links.tqe);
1399 ccb_h->status |= CAM_SCSI_BUS_RESET;
1400 aic_done(aic, (struct aic_scb *)ccb_h->ccb_scb_ptr);
1404 ccb_h = &aic->nexus->ccb->ccb_h;
1405 ccb_h->status |= CAM_SCSI_BUS_RESET;