Lines Matching refs:cb
219 scsi_low_activate_qtag(cb) in scsi_low_activate_qtag() argument
220 struct slccb *cb; in scsi_low_activate_qtag()
222 struct lun_info *li = cb->li;
224 if (cb->ccb_tag != SCSI_LOW_UNKTAG)
228 cb->ccb_tag = cb->ccb_otag;
232 scsi_low_deactivate_qtag(cb) in scsi_low_deactivate_qtag() argument
233 struct slccb *cb; in scsi_low_deactivate_qtag()
235 struct lun_info *li = cb->li;
237 if (cb->ccb_tag == SCSI_LOW_UNKTAG)
241 cb->ccb_tag = SCSI_LOW_UNKTAG;
245 scsi_low_ccb_message_exec(slp, cb) in scsi_low_ccb_message_exec() argument
247 struct slccb *cb;
250 scsi_low_assert_msg(slp, cb->ti, cb->ccb_msgoutflag, 0);
251 cb->ccb_msgoutflag = 0;
255 scsi_low_ccb_message_assert(cb, msg) in scsi_low_ccb_message_assert() argument
256 struct slccb *cb; in scsi_low_ccb_message_assert()
260 cb->ccb_msgoutflag = cb->ccb_omsgoutflag = msg;
264 scsi_low_ccb_message_retry(cb) in scsi_low_ccb_message_retry() argument
265 struct slccb *cb; in scsi_low_ccb_message_retry()
267 cb->ccb_msgoutflag = cb->ccb_omsgoutflag;
271 scsi_low_ccb_message_clear(cb) in scsi_low_ccb_message_clear() argument
272 struct slccb *cb; in scsi_low_ccb_message_clear()
274 cb->ccb_msgoutflag = 0;
321 struct slccb *cb; local
328 if ((cb = slp->sl_Qnexus) != NULL && cb->osdep == osdep)
329 return cb;
331 TAILQ_FOREACH(cb, &slp->sl_start, ccb_chain)
333 if (cb->osdep == osdep)
334 return cb;
337 TAILQ_FOREACH(cb, &li->li_discq, ccb_chain)
339 if (cb->osdep == osdep)
340 return cb;
346 scsi_low_translate_error_code(cb, tp) in scsi_low_translate_error_code() argument
347 struct slccb *cb; in scsi_low_translate_error_code()
351 if (cb->ccb_error == 0)
354 for (tp ++; (cb->ccb_error & tp->error_bits) == 0; tp ++)
422 struct slccb *cb; local
451 if (((cb = SCSI_LOW_ALLOC_CCB(1)) == NULL)) {
458 cb->osdep = ccb;
459 cb->bp = NULL;
472 scsi_low_enqueue(slp, ti, li, cb, flags, 0);
502 cb = scsi_low_find_ccb(slp, target, lun, ccb->cab.abort_ccb);
503 rv = scsi_low_abort_ccb(slp, cb);
680 if (((cb = SCSI_LOW_ALLOC_CCB(1)) == NULL))
690 cb->osdep = ccb;
691 cb->bp = NULL;
698 scsi_low_enqueue(slp, ti, li, cb, flags, msg);
803 scsi_low_ccb_setup_cam(slp, cb) in scsi_low_ccb_setup_cam() argument
805 struct slccb *cb;
807 union ccb *ccb = (union ccb *) cb->osdep;
809 if ((cb->ccb_flags & CCB_SCSIIO) != 0)
811 cb->ccb_scp.scp_cmd = ccb->csio.cdb_io.cdb_bytes;
812 cb->ccb_scp.scp_cmdlen = (int) ccb->csio.cdb_len;
813 cb->ccb_scp.scp_data = ccb->csio.data_ptr;
814 cb->ccb_scp.scp_datalen = (int) ccb->csio.dxfer_len;
816 cb->ccb_scp.scp_direction = SCSI_LOW_WRITE;
818 cb->ccb_scp.scp_direction = SCSI_LOW_READ;
819 cb->ccb_tcmax = ccb->ccb_h.timeout / 1000;
823 scsi_low_unit_ready_cmd(cb);
829 scsi_low_done_cam(slp, cb) in scsi_low_done_cam() argument
831 struct slccb *cb;
835 ccb = (union ccb *) cb->osdep;
836 if (cb->ccb_error == 0)
843 if (cb->ccb_rcnt >= slp->sl_max_retry)
844 cb->ccb_error |= ABORTIO;
846 if ((cb->ccb_flags & CCB_NORETRY) == 0 &&
847 (cb->ccb_error & ABORTIO) == 0)
850 if ((cb->ccb_error & SENSEIO) != 0)
853 &cb->ccb_sense,
857 ccb->ccb_h.status = scsi_low_translate_error_code(cb,
861 if ((cb->ccb_flags & CCB_SILENT) == 0 &&
862 cb->ccb_scp.scp_cmdlen > 0 &&
863 (scsi_low_cmd_flags[cb->ccb_scp.scp_cmd[0]] &
876 if (cb->ccb_scp.scp_status == ST_UNKNOWN)
879 ccb->csio.scsi_status = cb->ccb_scp.scp_status;
881 if ((cb->ccb_flags & CCB_NOSDONE) == 0)
1213 struct slccb *cb = NULL; /* XXX */ local
1222 cb = TAILQ_FIRST(&slp->sl_start);
1223 if (cb == NULL)
1226 if (cb->ccb_selrcnt >= SCSI_LOW_MAX_SELECTION_RETRY)
1228 cb->ccb_flags |= CCB_NORETRY;
1229 cb->ccb_error |= SELTIMEOUTIO;
1230 if (scsi_low_revoke_ccb(slp, cb, 1) != NULL)
1253 if ((cb = slp->sl_Qnexus) != NULL)
1255 cb->ccb_tc -= SCSI_LOW_TIMEOUT_CHECK_INTERVAL;
1256 if (cb->ccb_tc < 0)
1261 if ((cb = TAILQ_FIRST(&slp->sl_start)) == NULL)
1264 cb->ccb_tc -= SCSI_LOW_TIMEOUT_CHECK_INTERVAL;
1265 if (cb->ccb_tc < 0)
1277 for (cb = TAILQ_FIRST(&li->li_discq);
1278 cb != NULL;
1279 cb = TAILQ_NEXT(cb, ccb_chain))
1281 cb->ccb_tc -=
1283 if (cb->ccb_tc < 0)
1314 cb->ccb_error |= TIMEOUTIO;
1315 device_printf(slp->sl_dev, "slccb (0x%lx) timeout!\n", (u_long) cb);
1324 scsi_low_abort_ccb(slp, cb) in scsi_low_abort_ccb() argument
1326 struct slccb *cb;
1332 if (cb == NULL)
1334 if ((cb->ccb_omsgoutflag &
1338 ti = cb->ti;
1339 li = cb->li;
1340 if (cb->ccb_tag == SCSI_LOW_UNKTAG)
1345 cb->ccb_error |= ABORTIO;
1346 cb->ccb_flags |= CCB_NORETRY;
1347 scsi_low_ccb_message_assert(cb, msg);
1349 if (cb == slp->sl_Qnexus)
1353 else if ((cb->ccb_flags & CCB_DISCQ) != 0)
1355 if (scsi_low_revoke_ccb(slp, cb, 0) == NULL)
1359 cb->ccb_flags |= CCB_STARTQ;
1360 TAILQ_INSERT_HEAD(&slp->sl_start, cb, ccb_chain);
1367 if (scsi_low_revoke_ccb(slp, cb, 1) != NULL)
1498 scsi_low_enqueue(slp, ti, li, cb, flags, msg) in scsi_low_enqueue() argument
1502 struct slccb *cb;
1506 cb->ti = ti;
1507 cb->li = li;
1509 scsi_low_ccb_message_assert(cb, msg);
1511 cb->ccb_otag = cb->ccb_tag = SCSI_LOW_UNKTAG;
1512 scsi_low_alloc_qtag(cb);
1514 cb->ccb_flags = flags | CCB_STARTQ;
1515 cb->ccb_tc = cb->ccb_tcmax = SCSI_LOW_MIN_TOUT;
1516 cb->ccb_error |= PENDINGIO;
1520 TAILQ_INSERT_HEAD(&slp->sl_start, cb, ccb_chain);
1524 TAILQ_INSERT_TAIL(&slp->sl_start, cb, ccb_chain);
1541 struct slccb *cb; local
1548 if ((cb = SCSI_LOW_ALLOC_CCB(1)) == NULL)
1551 cb->osdep = NULL;
1552 cb->bp = NULL;
1553 scsi_low_enqueue(slp, ti, li, cb, flags, tmsgflags);
1572 scsi_low_unit_ready_cmd(cb) in scsi_low_unit_ready_cmd() argument
1573 struct slccb *cb; in scsi_low_unit_ready_cmd()
1576 cb->ccb_scp.scp_cmd = unit_ready_cmd;
1577 cb->ccb_scp.scp_cmdlen = sizeof(unit_ready_cmd);
1578 cb->ccb_scp.scp_datalen = 0;
1579 cb->ccb_scp.scp_direction = SCSI_LOW_READ;
1580 cb->ccb_tcmax = 15;
1584 scsi_low_sense_abort_start(slp, ti, li, cb) in scsi_low_sense_abort_start() argument
1588 struct slccb *cb;
1591 cb->ccb_scp.scp_cmdlen = 6;
1592 bzero(cb->ccb_scsi_cmd, cb->ccb_scp.scp_cmdlen);
1593 cb->ccb_scsi_cmd[0] = REQUEST_SENSE;
1594 cb->ccb_scsi_cmd[4] = sizeof(cb->ccb_sense);
1595 cb->ccb_scp.scp_cmd = cb->ccb_scsi_cmd;
1596 cb->ccb_scp.scp_data = (u_int8_t *) &cb->ccb_sense;
1597 cb->ccb_scp.scp_datalen = sizeof(cb->ccb_sense);
1598 cb->ccb_scp.scp_direction = SCSI_LOW_READ;
1599 cb->ccb_tcmax = 15;
1600 scsi_low_ccb_message_clear(cb);
1601 if ((cb->ccb_flags & CCB_CLEARQ) != 0)
1607 bzero(&cb->ccb_sense, sizeof(cb->ccb_sense));
1617 scsi_low_setup_start(slp, ti, li, cb) in scsi_low_setup_start() argument
1621 struct slccb *cb;
1627 scsi_low_unit_ready_cmd(cb);
1631 cb->ccb_scp.scp_cmd = ss_cmd;
1632 cb->ccb_scp.scp_cmdlen = sizeof(ss_cmd);
1633 cb->ccb_scp.scp_datalen = 0;
1634 cb->ccb_scp.scp_direction = SCSI_LOW_READ;
1635 cb->ccb_tcmax = 30;
1639 cb->ccb_scp.scp_cmd = inq_cmd;
1640 cb->ccb_scp.scp_cmdlen = sizeof(inq_cmd);
1641 cb->ccb_scp.scp_data = (u_int8_t *)&li->li_inq;
1642 cb->ccb_scp.scp_datalen = sizeof(li->li_inq);
1643 cb->ccb_scp.scp_direction = SCSI_LOW_READ;
1644 cb->ccb_tcmax = 15;
1648 cb->ccb_scp.scp_cmd = sms_cmd;
1649 cb->ccb_scp.scp_cmdlen = sizeof(sms_cmd);
1650 cb->ccb_scp.scp_data = (u_int8_t *)&li->li_sms;
1651 cb->ccb_scp.scp_datalen = sizeof(li->li_sms);
1652 cb->ccb_scp.scp_direction = SCSI_LOW_READ;
1653 cb->ccb_tcmax = 15;
1689 struct slccb *cb; local
1716 for (cb = TAILQ_FIRST(&slp->sl_start); cb != NULL;
1717 cb = TAILQ_NEXT(cb, ccb_chain))
1719 li = cb->li;
1728 (cb->ccb_flags & (CCB_SENSE | CCB_CLEARQ)) != 0)
1735 cb->ccb_flags &= ~CCB_STARTQ;
1736 TAILQ_REMOVE(&slp->sl_start, cb, ccb_chain);
1737 ti = cb->ti;
1740 cb->ccb_error = 0;
1741 cb->ccb_datalen = -1;
1742 cb->ccb_scp.scp_status = ST_UNKNOWN;
1745 slp->sl_Qnexus = cb;
1753 if ((cb->ccb_flags & (CCB_SENSE | CCB_CLEARQ)) != 0)
1756 rv = scsi_low_sense_abort_start(slp, ti, li, cb);
1760 cb->ccb_flags &= ~CCB_INTERNAL;
1761 rv = scsi_low_ccb_setup_cam(slp, cb);
1762 if (cb->ccb_msgoutflag != 0)
1764 scsi_low_ccb_message_exec(slp, cb);
1769 cb->ccb_flags |= CCB_INTERNAL;
1770 rv = scsi_low_setup_start(slp, ti, li, cb);
1782 scsi_low_activate_qtag(cb);
1783 if ((scsi_low_cmd_flags[cb->ccb_scp.scp_cmd[0]] &
1786 else if ((cb->ccb_flags & CCB_URGENT) != 0)
1794 if (cb->ccb_tcmax < SCSI_LOW_MIN_TOUT)
1795 cb->ccb_tcmax = SCSI_LOW_MIN_TOUT;
1796 cb->ccb_tc = cb->ccb_tcmax;
1799 cb->ccb_sscp = cb->ccb_scp;
1802 slp->sl_scp = cb->ccb_sscp;
1803 slp->sl_error = cb->ccb_error;
1815 slp->sl_selid = cb;
1816 rv = ((*slp->sl_funcs->scsi_low_start_bus) (slp, cb));
1825 scsi_low_arbit_fail(slp, cb);
1832 scsi_low_arbit_fail(slp, cb) in scsi_low_arbit_fail() argument
1834 struct slccb *cb;
1836 struct targ_info *ti = cb->ti;
1838 scsi_low_deactivate_qtag(cb);
1839 scsi_low_ccb_message_retry(cb);
1840 cb->ccb_flags |= CCB_STARTQ;
1841 TAILQ_INSERT_HEAD(&slp->sl_start, cb, ccb_chain);
1845 cb->ccb_selrcnt ++;
1886 scsi_low_setup_done(slp, cb) in scsi_low_setup_done() argument
1888 struct slccb *cb;
1893 ti = cb->ti;
1894 li = cb->li;
1896 if (cb->ccb_rcnt >= slp->sl_max_retry)
1898 cb->ccb_error |= ABORTIO;
1904 (cb->ccb_error & SELTIMEOUTIO) != 0)
1906 cb->ccb_error |= ABORTIO;
1913 if (cb->ccb_error != 0)
1953 if (cb->ccb_error != 0)
1955 if (cb->ccb_error & SENSEIO)
1962 scsi_extract_sense(&cb->ccb_sense,
2007 cb->ccb_rcnt --;
2012 scsi_low_done(slp, cb) in scsi_low_done() argument
2014 struct slccb *cb;
2018 if (cb->ccb_error == 0)
2020 if ((cb->ccb_flags & (CCB_SENSE | CCB_CLEARQ)) != 0)
2032 if ((cb->ccb_flags & CCB_CLEARQ) == 0)
2034 cb->ccb_rcnt --;
2035 cb->ccb_flags |= CCB_CLEARQ;
2040 if ((cb->ccb_flags & CCB_SENSE) != 0)
2041 cb->ccb_error |= (SENSEIO | ABORTIO);
2042 cb->ccb_flags &= ~(CCB_SENSE | CCB_CLEARQ);
2044 else switch (cb->ccb_sscp.scp_status)
2050 if (cb->ccb_datalen == 0 ||
2051 cb->ccb_scp.scp_datalen == 0)
2054 if (cb->ccb_scp.scp_cmdlen > 0 &&
2055 (scsi_low_cmd_flags[cb->ccb_scp.scp_cmd[0]] &
2059 cb->ccb_error |= PDMAERR;
2064 cb->ccb_error |= (BUSYERR | STATERR);
2068 cb->ccb_error |= (STATERR | ABORTIO);
2073 if (cb->ccb_flags & (CCB_AUTOSENSE | CCB_INTERNAL))
2075 cb->ccb_rcnt --;
2076 cb->ccb_flags |= CCB_SENSE;
2079 cb->ccb_error |= (UACAERR | STATERR | ABORTIO);
2084 cb->ccb_error |= FATALIO;
2090 if (cb->ccb_flags & CCB_SENSE)
2092 cb->ccb_error |= (SENSEERR | ABORTIO);
2094 cb->ccb_flags &= ~(CCB_CLEARQ | CCB_SENSE);
2098 if ((cb->ccb_flags & CCB_INTERNAL) != 0)
2100 if (scsi_low_setup_done(slp, cb) == SCSI_LOW_DONE_RETRY)
2105 if (cb->ccb_omsgoutflag != 0)
2112 if ((cb->ccb_omsgoutflag & SCSI_LOW_MSG_ABORT_OK) != 0)
2114 cb->ccb_error |= ABORTIO;
2119 if (cb->osdep != NULL)
2121 rv = scsi_low_done_cam(slp, cb);
2125 else if (cb->ccb_error != 0)
2127 if (cb->ccb_rcnt >= slp->sl_max_retry)
2128 cb->ccb_error |= ABORTIO;
2130 if ((cb->ccb_flags & CCB_NORETRY) == 0 &&
2131 (cb->ccb_error & ABORTIO) == 0)
2137 if (SCSI_LOW_DEBUG_GO(SCSI_LOW_DEBUG_DONE, cb->ti->ti_id) != 0)
2144 scsi_low_deactivate_qtag(cb);
2145 scsi_low_dealloc_qtag(cb);
2146 scsi_low_free_ccb(cb);
2152 if (SCSI_LOW_DEBUG_GO(SCSI_LOW_DEBUG_DONE, cb->ti->ti_id) != 0)
2159 cb->ccb_rcnt ++;
2160 scsi_low_deactivate_qtag(cb);
2161 scsi_low_ccb_message_retry(cb);
2224 struct slccb *cb, *topcb; local
2226 if ((cb = slp->sl_Qnexus) != NULL)
2228 topcb = scsi_low_revoke_ccb(slp, cb, fdone);
2314 struct slccb *cb; local
2319 cb = TAILQ_FIRST(&li->li_discq);
2320 for ( ; cb != NULL; cb = TAILQ_NEXT(cb, ccb_chain))
2321 if (cb->ccb_tag == tag)
2323 return cb;
2333 (u_long) cb);
2334 cb->ccb_flags |= (CCB_NORETRY | CCB_SILENT);
2335 scsi_low_revoke_ccb(slp, cb, 1);
2341 if (cb->ccb_omsgoutflag == 0)
2342 scsi_low_ccb_message_assert(cb, SCSI_LOW_MSG_NOOP);
2346 TAILQ_REMOVE(&li->li_discq, cb, ccb_chain);
2347 cb->ccb_flags &= ~CCB_DISCQ;
2348 slp->sl_Qnexus = cb;
2350 slp->sl_scp = cb->ccb_sscp;
2351 slp->sl_error |= cb->ccb_error;
2361 if (cb->ccb_msgoutflag != 0)
2363 scsi_low_ccb_message_exec(slp, cb);
2366 return cb;
2375 struct slccb *cb; local
2382 if ((cb = slp->sl_selid) != NULL)
2384 scsi_low_arbit_fail(slp, cb);
2449 struct slccb *cb = slp->sl_Qnexus; local
2452 if (cb == NULL)
2471 scsi_low_test_cmdlnk(slp, cb);
2488 struct slccb *cb = slp->sl_Qnexus; local
2490 if (cb != NULL && direction == cb->ccb_sscp.scp_direction)
2492 *bp = cb->bp;
2504 if (cb == NULL)
2673 struct slccb *cb = slp->sl_Qnexus; local
2678 if (cb == NULL)
2686 if (scsi_low_is_disconnect_ok(cb) != 0)
2694 if (cb->ccb_tag == SCSI_LOW_UNKTAG)
2736 struct slccb *cb = slp->sl_Qnexus; local
2739 if (cb == NULL || cb->ccb_tag == SCSI_LOW_UNKTAG)
2746 ti->ti_msgoutstr[ptr + 1] = (u_int8_t) cb->ccb_tag;
2999 struct slccb *ncb, *cb; local
3003 if ((cb = slp->sl_Qnexus) == NULL)
3006 cb->ccb_sscp.scp_status = slp->sl_scp.scp_status;
3022 cb->ccb_error |= slp->sl_error;
3023 if (cb->ccb_error != 0)
3044 ncb->ccb_tag = cb->ccb_tag;
3045 ncb->ccb_otag = cb->ccb_otag;
3046 cb->ccb_tag = SCSI_LOW_UNKTAG;
3047 cb->ccb_otag = SCSI_LOW_UNKTAG;
3048 if (scsi_low_done(slp, cb) == SCSI_LOW_DONE_RETRY)
3093 struct slccb *cb = slp->sl_Qnexus; local
3095 if (cb != NULL)
3097 cb->ccb_sscp.scp_datalen = slp->sl_scp.scp_datalen;
3098 cb->ccb_sscp.scp_data = slp->sl_scp.scp_data;
3173 struct slccb *cb = slp->sl_Qnexus; local
3175 if (cb != NULL && (cb->ccb_flags & CCB_SENSE) != 0)
3224 struct slccb *cb = slp->sl_Qnexus; local
3226 if (cb != NULL && (cb->ccb_flags & CCB_SENSE) != 0)
3271 struct slccb *cb = slp->sl_Qnexus; local
3274 if (cb == NULL || res <= 0 ||
3279 if (slp->sl_scp.scp_datalen + res > cb->ccb_scp.scp_datalen)
3292 struct slccb *cb = slp->sl_Qnexus; local
3307 if (cb == NULL)
3313 slp->sl_scp.scp_datalen - count > cb->ccb_scp.scp_datalen)
3548 struct slccb *cb = slp->sl_Qnexus; local
3571 if (cb != NULL)
3575 li = cb->li;
3576 TAILQ_INSERT_TAIL(&li->li_discq, cb, ccb_chain);
3577 cb->ccb_flags |= CCB_DISCQ;
3578 cb->ccb_error |= slp->sl_error;
3608 if (cb == NULL)
3614 if (cb->ccb_omsgoutflag == SCSI_LOW_MSG_NOOP &&
3615 (cb->ccb_msgoutflag != 0 ||
3623 cb->ccb_error |= slp->sl_error;
3624 if (scsi_low_done(slp, cb) == SCSI_LOW_DONE_RETRY)
3626 cb->ccb_flags |= CCB_STARTQ;
3627 TAILQ_INSERT_HEAD(&slp->sl_start, cb, ccb_chain);
3641 scsi_low_alloc_qtag(cb) in scsi_low_alloc_qtag() argument
3642 struct slccb *cb; in scsi_low_alloc_qtag()
3644 struct lun_info *li = cb->li;
3647 if (cb->ccb_otag != SCSI_LOW_UNKTAG)
3656 cb->ccb_otag = etag;
3672 cb->ccb_otag = (li->li_qd ++);
3678 scsi_low_dealloc_qtag(cb) in scsi_low_dealloc_qtag() argument
3679 struct slccb *cb; in scsi_low_dealloc_qtag()
3681 struct lun_info *li = cb->li;
3684 if (cb->ccb_otag == SCSI_LOW_UNKTAG)
3688 etag = cb->ccb_otag - 1;
3696 etag = cb->ccb_otag;
3704 cb->ccb_otag = SCSI_LOW_UNKTAG;
3709 scsi_low_revoke_ccb(slp, cb, fdone) in scsi_low_revoke_ccb() argument
3711 struct slccb *cb;
3714 struct targ_info *ti = cb->ti;
3715 struct lun_info *li = cb->li;
3718 if ((cb->ccb_flags & (CCB_STARTQ | CCB_DISCQ)) ==
3726 if ((cb->ccb_flags & CCB_STARTQ) != 0)
3728 TAILQ_REMOVE(&slp->sl_start, cb, ccb_chain);
3731 if ((cb->ccb_flags & CCB_DISCQ) != 0)
3733 TAILQ_REMOVE(&li->li_discq, cb, ccb_chain);
3739 cb->ccb_flags &= ~(CCB_STARTQ | CCB_DISCQ |
3743 (cb->ccb_rcnt ++ >= slp->sl_max_retry ||
3744 (cb->ccb_flags & CCB_NORETRY) != 0))
3746 cb->ccb_error |= FATALIO;
3747 cb->ccb_flags &= ~CCB_AUTOSENSE;
3748 if (scsi_low_done(slp, cb) != SCSI_LOW_DONE_COMPLETE)
3755 cb->ccb_error |= PENDINGIO;
3756 scsi_low_deactivate_qtag(cb);
3757 scsi_low_ccb_message_retry(cb);
3758 cb->ccb_tc = cb->ccb_tcmax = SCSI_LOW_MIN_TOUT;
3759 return cb;
3769 struct slccb *cb, *ncb, *ecb; local
3775 for (cb = TAILQ_FIRST(&li->li_discq); cb != NULL; cb = ncb)
3777 ncb = TAILQ_NEXT(cb, ccb_chain);
3778 cb = scsi_low_revoke_ccb(slp, cb, fdone);
3779 if (cb != NULL)
3784 cb->ccb_flags |= CCB_STARTQ;
3788 cb, ccb_chain);
3793 ecb, cb, ccb_chain);
3795 ecb = cb;
3955 struct slccb *cb; local
3982 if ((cb = SCSI_LOW_ALLOC_CCB(1)) == NULL)
3985 cb->osdep = NULL;
3986 cb->bp = NULL;
3990 scsi_low_enqueue(slp, ti, li, cb,
3993 scsi_low_poll(slp, cb);
4013 scsi_low_poll(slp, cb) in scsi_low_poll() argument
4015 struct slccb *cb;
4073 scsi_low_test_cmdlnk(slp, cb) in scsi_low_test_cmdlnk() argument
4075 struct slccb *cb;
4079 if ((cb->ccb_flags & SCSI_LOW_CMDLNK_NOK) != 0)
4082 memcpy(cb->ccb_scsi_cmd, slp->sl_scp.scp_cmd,
4084 cb->ccb_scsi_cmd[slp->sl_scp.scp_cmdlen - 1] |= 1;
4085 slp->sl_scp.scp_cmd = cb->ccb_scsi_cmd;
4127 struct slccb *cb; local
4134 cb = slp->sl_Qnexus;
4139 cb = TAILQ_FIRST(&li->li_discq);
4145 (u_long) ti, (u_long) li, (u_long) cb, slp->sl_nio);
4167 if (cb != NULL)
4170 (u_int) cb->ccb_scp.scp_cmd[0],
4171 cb->ccb_scp.scp_cmdlen,
4172 cb->ccb_datalen,
4173 cb->ccb_scp.scp_datalen,
4174 (u_int) cb->ccb_sscp.scp_status,
4175 cb->ccb_error, SCSI_LOW_ERRORBITS);