Lines Matching refs:dcb
214 struct DeviceCtlBlk *dcb;
254 struct list_head list; /* next/prev ptrs for the dcb list */
286 struct list_head dcb_list; /* head of going dcb list */
364 static u8 start_scsi(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
368 static void build_srb(struct scsi_cmnd *cmd, struct DeviceCtlBlk *dcb,
376 static void srb_done(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
378 static void request_sense(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
381 struct DeviceCtlBlk *dcb);
701 /* find supplied dcb and then select the next one */
720 static void free_tag(struct DeviceCtlBlk *dcb, struct ScsiReqBlk *srb)
723 dcb->tag_mask &= ~(1 << srb->tag_number); /* free tag mask */
759 struct DeviceCtlBlk *dcb;
774 * Find the starting dcb. Need to find it again in the list
777 list_for_each_entry(dcb, dcb_list_head, list)
778 if (dcb == acb->dcb_run_robin) {
779 start = dcb;
790 * Loop over the dcb, but we start somewhere (potentially) in
803 /* move to next dcb */
843 struct DeviceCtlBlk *dcb = srb->dcb;
845 if (dcb->max_command <= list_size(&dcb->srb_going_list) ||
848 list_add_tail(&srb->list, &dcb->srb_waiting_list);
853 if (!start_scsi(acb, dcb, srb)) {
854 list_add_tail(&srb->list, &dcb->srb_going_list);
856 list_add(&srb->list, &dcb->srb_waiting_list);
862 static void build_srb(struct scsi_cmnd *cmd, struct DeviceCtlBlk *dcb,
868 cmd, dcb->target_id, dcb->target_lun);
870 srb->dcb = dcb;
927 if (dcb->sync_period & WIDE_SYNC &&
933 srb->sg_bus_addr = dma_map_single(&dcb->acb->dev->dev,
965 struct DeviceCtlBlk *dcb;
990 dcb = find_dcb(acb, cmd->device->id, cmd->device->lun);
991 if (!dcb) {
1013 build_srb(cmd, dcb, srb);
1015 if (!list_empty(&dcb->srb_waiting_list)) {
1017 list_add_tail(&srb->list, &dcb->srb_waiting_list);
1040 struct DeviceCtlBlk *dcb, struct ScsiReqBlk *srb)
1045 if (!dcb)
1046 dcb = acb->active_dcb;
1047 if (!srb && dcb)
1048 srb = dcb->active_srb;
1121 struct DeviceCtlBlk *dcb;
1125 list_for_each_entry(dcb, &acb->dcb_list, list) {
1128 dcb->sync_mode &= ~(SYNC_NEGO_DONE + WIDE_NEGO_DONE);
1129 dcb->sync_period = 0;
1130 dcb->sync_offset = 0;
1132 dcb->dev_mode = eeprom->target[dcb->target_id].cfg0;
1133 period_index = eeprom->target[dcb->target_id].period & 0x07;
1134 dcb->min_nego_period = clock_period[period_index];
1135 if (!(dcb->dev_mode & NTC_DO_WIDE_NEGO)
1137 dcb->sync_mode &= ~WIDE_NEGO_ENABLE;
1217 struct DeviceCtlBlk *dcb;
1222 dcb = find_dcb(acb, cmd->device->id, cmd->device->lun);
1223 if (!dcb) {
1228 srb = find_cmd(cmd, &dcb->srb_waiting_list);
1233 free_tag(dcb, srb);
1239 srb = find_cmd(cmd, &dcb->srb_going_list);
1251 static void build_sdtr(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
1262 if (!(dcb->dev_mode & NTC_DO_SYNC_NEGO)) {
1263 dcb->sync_offset = 0;
1264 dcb->min_nego_period = 200 >> 2;
1265 } else if (dcb->sync_offset == 0)
1266 dcb->sync_offset = SYNC_NEGO_OFFSET;
1268 srb->msg_count += spi_populate_sync_msg(ptr, dcb->min_nego_period,
1269 dcb->sync_offset);
1275 static void build_wdtr(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
1278 u8 wide = ((dcb->dev_mode & NTC_DO_WIDE_NEGO) &
1332 static u8 start_scsi(struct AdapterCtlBlk* acb, struct DeviceCtlBlk* dcb,
1339 dcb->target_id, dcb->target_lun, srb);
1386 DC395x_write8(acb, TRM_S1040_SCSI_TARGETID, dcb->target_id);
1387 DC395x_write8(acb, TRM_S1040_SCSI_SYNC, dcb->sync_period);
1388 DC395x_write8(acb, TRM_S1040_SCSI_OFFSET, dcb->sync_offset);
1391 identify_message = dcb->identify_msg;
1400 && (((dcb->sync_mode & WIDE_NEGO_ENABLE)
1401 && !(dcb->sync_mode & WIDE_NEGO_DONE))
1402 || ((dcb->sync_mode & SYNC_NEGO_ENABLE)
1403 && !(dcb->sync_mode & SYNC_NEGO_DONE)))
1404 && (dcb->target_lun == 0)) {
1410 if (dcb->sync_mode & WIDE_NEGO_ENABLE
1411 && dcb->inquiry7 & SCSI_INQ_WBUS16) {
1412 build_wdtr(acb, dcb, srb);
1416 if (dcb->sync_mode & SYNC_NEGO_ENABLE
1417 && dcb->inquiry7 & SCSI_INQ_SYNC) {
1418 build_sdtr(acb, dcb, srb);
1421 if (dcb->sync_mode & WIDE_NEGO_ENABLE
1422 && dcb->inquiry7 & SCSI_INQ_WBUS16) {
1423 build_wdtr(acb, dcb, srb);
1434 if ((dcb->sync_mode & EN_TAG_QUEUEING)
1439 while (tag_mask & dcb->tag_mask
1440 && tag_number < dcb->max_command) {
1444 if (tag_number >= dcb->max_command) {
1457 dcb->tag_mask |= tag_mask;
1470 DC395x_write8(acb, TRM_S1040_SCSI_FIFO, (dcb->target_lun << 5));
1490 srb->cmd, dcb->target_id, dcb->target_lun);
1492 free_tag(dcb, srb);
1502 dcb->active_srb = srb;
1503 acb->active_dcb = dcb;
1542 struct DeviceCtlBlk *dcb;
1583 dcb = acb->active_dcb;
1584 if (!dcb) {
1590 srb = dcb->active_srb;
1591 if (dcb->flag & ABORT_DEV_) {
1739 struct DeviceCtlBlk *dcb;
1754 dcb = acb->active_dcb;
1756 DC395x_write8(acb, TRM_S1040_SCSI_FIFO, (dcb->target_lun << 5));
1816 dma_sync_single_for_cpu(&srb->dcb->acb->dev->dev,
1822 dma_sync_single_for_device(&srb->dcb->acb->dev->dev,
1882 struct DeviceCtlBlk *dcb = srb->dcb;
1928 if (dcb->sync_period & WIDE_SYNC)
1935 (dcb->sync_period & WIDE_SYNC) ? "words" : "bytes",
1958 if (d_left_counter == 1 && dcb->sync_period & WIDE_SYNC
1986 (dcb->sync_period & WIDE_SYNC) ? 2 : 1;
2086 << ((srb->dcb->sync_period & WIDE_SYNC) ? 1 :
2093 (srb->dcb->sync_period & WIDE_SYNC) ? "words" : "bytes",
2110 (srb->dcb->sync_period & WIDE_SYNC) ?
2113 if (srb->dcb->sync_period & WIDE_SYNC)
2154 if (fc == 0x40 && (srb->dcb->sync_period & WIDE_SYNC)) {
2191 if (srb->dcb->sync_period & WIDE_SYNC)
2247 struct DeviceCtlBlk *dcb = srb->dcb;
2270 dump_register_info(acb, dcb, srb);
2330 if (srb->dcb->sync_period & WIDE_SYNC)
2360 if (srb->dcb->sync_period & WIDE_SYNC) {
2386 if (dcb->sync_period & WIDE_SYNC) {
2469 srb->dcb->target_id, srb->dcb->target_lun);
2474 struct DeviceCtlBlk *dcb, u8 tag)
2481 if (!(dcb->tag_mask & (1 << tag)))
2484 dcb->tag_mask, tag);
2486 if (list_empty(&dcb->srb_going_list))
2488 list_for_each_entry(i, &dcb->srb_going_list, list) {
2498 srb->cmd, srb->dcb->target_id, srb->dcb->target_lun);
2499 if (dcb->flag & ABORT_DEV_) {
2507 memcpy(srb->msgin_buf, dcb->active_srb->msgin_buf, acb->msg_len);
2508 srb->state |= dcb->active_srb->state;
2510 dcb->active_srb = srb;
2517 dcb->active_srb = srb;
2527 struct DeviceCtlBlk *dcb)
2529 DC395x_write8(acb, TRM_S1040_SCSI_TARGETID, dcb->target_id);
2530 DC395x_write8(acb, TRM_S1040_SCSI_SYNC, dcb->sync_period);
2531 DC395x_write8(acb, TRM_S1040_SCSI_OFFSET, dcb->sync_offset);
2532 set_xfer_rate(acb, dcb);
2539 struct DeviceCtlBlk *dcb = srb->dcb;
2541 dcb->target_id, dcb->target_lun);
2543 dcb->sync_mode &= ~(SYNC_NEGO_ENABLE);
2544 dcb->sync_mode |= SYNC_NEGO_DONE;
2545 /*dcb->sync_period &= 0; */
2546 dcb->sync_offset = 0;
2547 dcb->min_nego_period = 200 >> 2; /* 200ns <=> 5 MHz */
2549 reprogram_regs(acb, dcb);
2550 if ((dcb->sync_mode & WIDE_NEGO_ENABLE)
2551 && !(dcb->sync_mode & WIDE_NEGO_DONE)) {
2552 build_wdtr(acb, dcb, srb);
2562 struct DeviceCtlBlk *dcb = srb->dcb;
2567 dcb->target_id, srb->msgin_buf[3] << 2,
2574 if (!(dcb->dev_mode & NTC_DO_SYNC_NEGO))
2575 dcb->sync_offset = 0;
2576 else if (dcb->sync_offset == 0)
2577 dcb->sync_offset = srb->msgin_buf[4];
2578 if (srb->msgin_buf[4] > dcb->sync_offset)
2579 srb->msgin_buf[4] = dcb->sync_offset;
2581 dcb->sync_offset = srb->msgin_buf[4];
2584 || dcb->min_nego_period >
2592 dcb->sync_period &= 0xf0;
2593 dcb->sync_period |= ALT_SYNC | bval;
2594 dcb->min_nego_period = srb->msgin_buf[3];
2596 if (dcb->sync_period & WIDE_SYNC)
2603 dcb->target_id, (fact == 500) ? "Wide16" : "",
2604 dcb->min_nego_period << 2, dcb->sync_offset,
2605 (fact / dcb->min_nego_period),
2606 ((fact % dcb->min_nego_period) * 10 +
2607 dcb->min_nego_period / 2) / dcb->min_nego_period);
2617 dcb->sync_mode |= SYNC_NEGO_DONE;
2619 if ((dcb->sync_mode & WIDE_NEGO_ENABLE)
2620 && !(dcb->sync_mode & WIDE_NEGO_DONE)) {
2621 build_wdtr(acb, dcb, srb);
2627 dcb->sync_mode |= SYNC_NEGO_DONE | SYNC_NEGO_ENABLE;
2629 reprogram_regs(acb, dcb);
2636 struct DeviceCtlBlk *dcb = srb->dcb;
2637 dprintkdbg(DBG_1, "msgin_set_nowide: <%02i>\n", dcb->target_id);
2639 dcb->sync_period &= ~WIDE_SYNC;
2640 dcb->sync_mode &= ~(WIDE_NEGO_ENABLE);
2641 dcb->sync_mode |= WIDE_NEGO_DONE;
2643 reprogram_regs(acb, dcb);
2644 if ((dcb->sync_mode & SYNC_NEGO_ENABLE)
2645 && !(dcb->sync_mode & SYNC_NEGO_DONE)) {
2646 build_sdtr(acb, dcb, srb);
2654 struct DeviceCtlBlk *dcb = srb->dcb;
2655 u8 wide = (dcb->dev_mode & NTC_DO_WIDE_NEGO
2657 dprintkdbg(DBG_1, "msgin_set_wide: <%02i>\n", dcb->target_id);
2665 dcb->target_id);
2672 dcb->sync_mode |= (WIDE_NEGO_ENABLE | WIDE_NEGO_DONE);
2674 dcb->sync_period |= WIDE_SYNC;
2676 dcb->sync_period &= ~WIDE_SYNC;
2678 /*dcb->sync_mode &= ~(WIDE_NEGO_ENABLE+WIDE_NEGO_DONE); */
2681 (8 << srb->msgin_buf[3]), dcb->target_id);
2682 reprogram_regs(acb, dcb);
2683 if ((dcb->sync_mode & SYNC_NEGO_ENABLE)
2684 && !(dcb->sync_mode & SYNC_NEGO_DONE)) {
2685 build_sdtr(acb, dcb, srb);
2707 struct DeviceCtlBlk *dcb = acb->active_dcb;
2722 msgin_qtag(acb, dcb,
2786 srb->cmd, dcb->target_id,
2787 dcb->target_lun);
2788 dcb->flag |= ABORT_DEV_;
2797 srb->msgout_buf[0] = dcb->identify_msg;
2843 static void set_xfer_rate(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb)
2848 if (dcb->identify_msg & 0x07)
2852 current_sync_offset = dcb->sync_offset;
2857 if (i->target_id == dcb->target_id) {
2858 i->sync_period = dcb->sync_period;
2859 i->sync_offset = dcb->sync_offset;
2860 i->sync_mode = dcb->sync_mode;
2861 i->min_nego_period = dcb->min_nego_period;
2868 struct DeviceCtlBlk *dcb = acb->active_dcb;
2871 if (!dcb) {
2882 srb = dcb->active_srb;
2892 dcb->target_id, dcb->target_lun);
2896 dcb->flag &= ~ABORT_DEV_;
2922 dcb->target_id, dcb->target_lun);
2929 free_tag(dcb, srb);
2930 list_move(&srb->list, &dcb->srb_waiting_list);
2953 free_tag(dcb, srb);
2954 dcb->active_srb = NULL;
2956 srb_done(acb, dcb, srb);
2964 struct DeviceCtlBlk *dcb = acb->active_dcb;
2974 if (dcb) { /* Arbitration lost but Reselection win */
2975 srb = dcb->active_srb;
2986 srb->cmd, dcb->target_id,
2987 dcb->target_lun, rsel_tar_lun_id,
2992 free_tag(dcb, srb);
2993 list_move(&srb->list, &dcb->srb_waiting_list);
3005 dcb = find_dcb(acb, id, lun);
3006 if (!dcb) {
3012 acb->active_dcb = dcb;
3014 if (!(dcb->dev_mode & NTC_DO_DISCONNECT))
3017 dcb->target_id, dcb->target_lun);
3019 if (dcb->sync_mode & EN_TAG_QUEUEING) {
3021 dcb->active_srb = srb;
3024 srb = dcb->active_srb;
3031 dcb->target_id, dcb->target_lun);
3034 dcb->active_srb = srb;
3037 if (dcb->flag & ABORT_DEV_) {
3048 dprintkdbg(DBG_0, "reselect: select <%i>\n", dcb->target_id);
3050 DC395x_write8(acb, TRM_S1040_SCSI_TARGETID, dcb->target_id); /* target ID */
3051 DC395x_write8(acb, TRM_S1040_SCSI_OFFSET, dcb->sync_offset); /* offset */
3052 DC395x_write8(acb, TRM_S1040_SCSI_SYNC, dcb->sync_period); /* sync period, wide */
3075 static void disc_tagq_set(struct DeviceCtlBlk *dcb, struct ScsiInqData *ptr)
3080 && (dcb->dev_mode & NTC_DO_TAG_QUEUEING) &&
3081 /*(dcb->dev_mode & NTC_DO_DISCONNECT) */
3082 /* ((dcb->dev_type == TYPE_DISK)
3083 || (dcb->dev_type == TYPE_MOD)) && */
3085 if (dcb->max_command == 1)
3086 dcb->max_command =
3087 dcb->acb->tag_max_num;
3088 dcb->sync_mode |= EN_TAG_QUEUEING;
3089 /*dcb->tag_mask = 0; */
3091 dcb->max_command = 1;
3096 static void add_dev(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
3100 dcb->dev_type = bval1;
3102 disc_tagq_set(dcb, ptr);
3150 static void srb_done(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
3180 cmd->cmnd[0], dcb->target_id,
3181 dcb->target_lun, status, acb->scan_devices);
3186 cmd->cmnd[0], dcb->target_id,
3187 dcb->target_lun, status, acb->scan_devices);
3192 cmd->cmnd[0], dcb->target_id,
3193 dcb->target_lun, status, acb->scan_devices);
3198 cmd->cmnd[0], dcb->target_id,
3199 dcb->target_lun, status, acb->scan_devices);
3204 cmd->cmnd[0], dcb->target_id,
3205 dcb->target_lun, status, acb->scan_devices);
3238 request_sense(acb, dcb, srb);
3241 tempcnt = (u8)list_size(&dcb->srb_going_list);
3243 dcb->target_id, dcb->target_lun, tempcnt);
3246 dcb->max_command = tempcnt;
3247 free_tag(dcb, srb);
3248 list_move(&srb->list, &dcb->srb_waiting_list);
3299 dcb->inquiry7 = ptr->Flags;
3305 if (!dcb->init_tcq_flag) {
3306 add_dev(acb, dcb, ptr);
3307 dcb->init_tcq_flag = 1;
3343 struct DeviceCtlBlk *dcb;
3346 list_for_each_entry(dcb, &acb->dcb_list, list) {
3351 list_for_each_entry_safe(srb, tmp, &dcb->srb_going_list, list) {
3356 free_tag(dcb, srb);
3368 if (!list_empty(&dcb->srb_going_list))
3371 dcb->target_id, dcb->target_lun);
3372 if (dcb->tag_mask)
3375 dcb->target_id, dcb->target_lun,
3376 dcb->tag_mask);
3379 list_for_each_entry_safe(srb, tmp, &dcb->srb_waiting_list, list) {
3395 if (!list_empty(&dcb->srb_waiting_list))
3397 list_size(&dcb->srb_waiting_list), dcb->target_id,
3398 dcb->target_lun);
3399 dcb->flag &= ~ABORT_DEV_;
3487 static void request_sense(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
3520 if (start_scsi(acb, dcb, srb)) { /* Should only happen, if sb. else grabs the bus */
3523 srb->cmd, dcb->target_id, dcb->target_lun);
3524 list_move(&srb->list, &dcb->srb_waiting_list);
3548 struct DeviceCtlBlk *dcb;
3550 dcb = kmalloc(sizeof(struct DeviceCtlBlk), GFP_ATOMIC);
3552 if (!dcb)
3554 dcb->acb = NULL;
3555 INIT_LIST_HEAD(&dcb->srb_going_list);
3556 INIT_LIST_HEAD(&dcb->srb_waiting_list);
3557 dcb->active_srb = NULL;
3558 dcb->tag_mask = 0;
3559 dcb->max_command = 1;
3560 dcb->target_id = target;
3561 dcb->target_lun = lun;
3562 dcb->dev_mode = eeprom->target[target].cfg0;
3564 dcb->identify_msg =
3565 IDENTIFY(dcb->dev_mode & NTC_DO_DISCONNECT, lun);
3567 dcb->identify_msg = IDENTIFY(0, lun);
3569 dcb->inquiry7 = 0;
3570 dcb->sync_mode = 0;
3571 dcb->min_nego_period = clock_period[period_index];
3572 dcb->sync_period = 0;
3573 dcb->sync_offset = 0;
3574 dcb->flag = 0;
3577 if ((dcb->dev_mode & NTC_DO_WIDE_NEGO)
3579 dcb->sync_mode |= WIDE_NEGO_ENABLE;
3582 if (dcb->dev_mode & NTC_DO_SYNC_NEGO)
3584 dcb->sync_mode |= SYNC_NEGO_ENABLE;
3586 if (dcb->target_lun != 0) {
3591 if (iter->target_id == dcb->target_id) {
3597 kfree(dcb);
3603 dcb->target_id, dcb->target_lun,
3605 dcb->sync_mode = p->sync_mode;
3606 dcb->sync_period = p->sync_period;
3607 dcb->min_nego_period = p->min_nego_period;
3608 dcb->sync_offset = p->sync_offset;
3609 dcb->inquiry7 = p->inquiry7;
3611 return dcb;
3619 * @dcb: A newly created and initialised device instance to add.
3622 struct DeviceCtlBlk *dcb)
3625 dcb->acb = acb;
3629 acb->dcb_run_robin = dcb;
3632 list_add_tail(&dcb->list, &acb->dcb_list);
3635 acb->dcb_map[dcb->target_id] |= (1 << dcb->target_lun);
3636 acb->children[dcb->target_id][dcb->target_lun] = dcb;
3647 * @dcb: A device that has previously been added to the adapter.
3650 struct DeviceCtlBlk *dcb)
3655 dcb->target_id, dcb->target_lun);
3658 if (acb->active_dcb == dcb)
3660 if (acb->dcb_run_robin == dcb)
3661 acb->dcb_run_robin = dcb_get_next(&acb->dcb_list, dcb);
3665 if (dcb == i) {
3671 acb->dcb_map[dcb->target_id] &= ~(1 << dcb->target_lun);
3672 acb->children[dcb->target_id][dcb->target_lun] = NULL;
3673 dcb->acb = NULL;
3682 * @dcb: A device that has previously been added to the adapter.
3685 struct DeviceCtlBlk *dcb)
3687 if (list_size(&dcb->srb_going_list) > 1) {
3690 dcb->target_id, dcb->target_lun,
3691 list_size(&dcb->srb_going_list));
3694 adapter_remove_device(acb, dcb);
3695 kfree(dcb);
3707 struct DeviceCtlBlk *dcb;
3712 list_for_each_entry_safe(dcb, tmp, &acb->dcb_list, list)
3713 adapter_remove_and_free_device(acb, dcb);
3727 struct DeviceCtlBlk *dcb;
3729 dcb = device_alloc(acb, scsi_device->id, scsi_device->lun);
3730 if (!dcb)
3732 adapter_add_device(acb, dcb);
3747 struct DeviceCtlBlk *dcb = find_dcb(acb, scsi_device->id, scsi_device->lun);
3748 if (dcb)
3749 adapter_remove_and_free_device(acb, dcb);
4365 "size{acb=0x%04x dcb=0x%04x srb=0x%04x}\n",
4444 struct DeviceCtlBlk *dcb;
4478 list_for_each_entry(dcb, &acb->dcb_list, list) {
4480 seq_printf(m, "%02i %02i %02i ", dev, dcb->target_id,
4481 dcb->target_lun);
4482 YESNO(dcb->dev_mode & NTC_DO_PARITY_CHK);
4483 YESNO(dcb->sync_offset);
4484 YESNO(dcb->sync_period & WIDE_SYNC);
4485 YESNO(dcb->dev_mode & NTC_DO_DISCONNECT);
4486 YESNO(dcb->dev_mode & NTC_DO_SEND_START);
4487 YESNO(dcb->sync_mode & EN_TAG_QUEUEING);
4488 nego_period = clock_period[dcb->sync_period & 0x07] << 2;
4489 if (dcb->sync_offset)
4492 seq_printf(m, " (%03i ns)", (dcb->min_nego_period << 2));
4494 if (dcb->sync_offset & 0x0f) {
4499 (dcb->sync_offset & 0x0f));
4504 seq_printf(m, " %02i\n", dcb->max_command);
4513 list_for_each_entry(dcb, &acb->dcb_list, list) {
4515 if (!list_empty(&dcb->srb_waiting_list))
4517 dcb->target_id, dcb->target_lun,
4518 list_size(&dcb->srb_waiting_list));
4519 list_for_each_entry(srb, &dcb->srb_waiting_list, list)
4521 if (!list_empty(&dcb->srb_going_list))
4523 dcb->target_id, dcb->target_lun,
4524 list_size(&dcb->srb_going_list));
4525 list_for_each_entry(srb, &dcb->srb_going_list, list)
4527 if (!list_empty(&dcb->srb_waiting_list) || !list_empty(&dcb->srb_going_list))
4533 list_for_each_entry(dcb, &acb->dcb_list, list) {
4534 seq_printf(m, "%p -> ", dcb);