Symbol: srb
drivers/ipack/devices/scc2698.h
57
u8 d9, srb; /* Status register (b) */
drivers/s390/scsi/zfcp_dbf.c
197
struct fsf_status_read_buffer *srb = req->data;
drivers/s390/scsi/zfcp_dbf.c
214
if (!srb)
drivers/s390/scsi/zfcp_dbf.c
217
rec->u.uss.status_type = srb->status_type;
drivers/s390/scsi/zfcp_dbf.c
218
rec->u.uss.status_subtype = srb->status_subtype;
drivers/s390/scsi/zfcp_dbf.c
219
rec->u.uss.d_id = ntoh24(srb->d_id);
drivers/s390/scsi/zfcp_dbf.c
220
rec->u.uss.lun = srb->fcp_lun;
drivers/s390/scsi/zfcp_dbf.c
221
memcpy(&rec->u.uss.queue_designator, &srb->queue_designator,
drivers/s390/scsi/zfcp_dbf.c
225
rec->pl_len = (!srb->length) ? 0 : srb->length -
drivers/s390/scsi/zfcp_dbf.c
229
zfcp_dbf_pl_write(dbf, srb->payload.data, rec->pl_len,
drivers/s390/scsi/zfcp_dbf.c
647
struct fsf_status_read_buffer *srb =
drivers/s390/scsi/zfcp_dbf.c
655
length = (u16)(srb->length -
drivers/s390/scsi/zfcp_dbf.c
657
sg_init_one(&sg, srb->payload.data, length);
drivers/s390/scsi/zfcp_dbf.c
659
fsf->req_id, ntoh24(srb->d_id), length);
drivers/scsi/3w-9xxx.c
1019
memcpy(tw_dev->srb[request_id]->sense_buffer, full_command_packet->header.sense_data, TW_SENSE_DATA_LENGTH);
drivers/scsi/3w-9xxx.c
1020
tw_dev->srb[request_id]->result = (full_command_packet->command.newcommand.status << 1);
drivers/scsi/3w-9xxx.c
1301
if (tw_dev->srb[request_id] != NULL) {
drivers/scsi/3w-9xxx.c
1313
if (tw_dev->srb[request_id] != NULL) {
drivers/scsi/3w-9xxx.c
1321
if (tw_dev->srb[request_id] == NULL) {
drivers/scsi/3w-9xxx.c
1332
cmd = tw_dev->srb[request_id];
drivers/scsi/3w-9xxx.c
1595
if (tw_dev->srb[i]) {
drivers/scsi/3w-9xxx.c
1596
struct scsi_cmnd *cmd = tw_dev->srb[i];
drivers/scsi/3w-9xxx.c
1773
tw_dev->srb[request_id] = SCpnt;
drivers/scsi/3w-9xxx.c
1806
struct scsi_cmnd *srb = NULL;
drivers/scsi/3w-9xxx.c
1810
if (tw_dev->srb[request_id])
drivers/scsi/3w-9xxx.c
1811
srb = tw_dev->srb[request_id];
drivers/scsi/3w-9xxx.c
1825
memcpy(command_packet->cdb, srb->cmnd, TW_MAX_CDB_LEN);
drivers/scsi/3w-9xxx.c
1829
if (srb) {
drivers/scsi/3w-9xxx.c
1830
command_packet->unit = srb->device->id;
drivers/scsi/3w-9xxx.c
1832
TW_REQ_LUN_IN(srb->device->lun, request_id);
drivers/scsi/3w-9xxx.c
1844
if (scsi_sg_count(srb)) {
drivers/scsi/3w-9xxx.c
1845
if (!twa_command_mapped(srb)) {
drivers/scsi/3w-9xxx.c
1846
if (srb->sc_data_direction == DMA_TO_DEVICE ||
drivers/scsi/3w-9xxx.c
1847
srb->sc_data_direction == DMA_BIDIRECTIONAL)
drivers/scsi/3w-9xxx.c
1848
scsi_sg_copy_to_buffer(srb,
drivers/scsi/3w-9xxx.c
1854
sg_count = scsi_dma_map(srb);
drivers/scsi/3w-9xxx.c
1858
scsi_for_each_sg(srb, sg, sg_count, i) {
drivers/scsi/3w-9xxx.c
1867
command_packet->sgl_entries__lunh = TW_REQ_LUN_IN((srb->device->lun >> 4), scsi_sg_count(tw_dev->srb[request_id]));
drivers/scsi/3w-9xxx.c
1882
if (srb) {
drivers/scsi/3w-9xxx.c
1883
if (srb->cmnd[0] == READ_6 || srb->cmnd[0] == WRITE_6)
drivers/scsi/3w-9xxx.c
1884
num_sectors = (u32)srb->cmnd[4];
drivers/scsi/3w-9xxx.c
1886
if (srb->cmnd[0] == READ_10 || srb->cmnd[0] == WRITE_10)
drivers/scsi/3w-9xxx.c
1887
num_sectors = (u32)srb->cmnd[8] | ((u32)srb->cmnd[7] << 8);
drivers/scsi/3w-9xxx.c
1896
if (srb) {
drivers/scsi/3w-9xxx.c
1897
tw_dev->sgl_entries = scsi_sg_count(tw_dev->srb[request_id]);
drivers/scsi/3w-9xxx.c
1903
if (srb) {
drivers/scsi/3w-9xxx.c
1916
struct scsi_cmnd *cmd = tw_dev->srb[request_id];
drivers/scsi/3w-9xxx.c
317
tw_dev->srb[request_id] = NULL;
drivers/scsi/3w-9xxx.c
449
tw_dev->srb[request_id] = NULL;
drivers/scsi/3w-9xxx.c
510
tw_dev->srb[request_id] = NULL;
drivers/scsi/3w-9xxx.c
701
tw_dev->srb[request_id] = NULL;
drivers/scsi/3w-9xxx.h
660
struct scsi_cmnd *srb[TW_Q_LENGTH];
drivers/scsi/3w-sas.c
1168
if (tw_dev->srb[request_id] != NULL)
drivers/scsi/3w-sas.c
1191
if (tw_dev->srb[request_id] != NULL) {
drivers/scsi/3w-sas.c
1199
if (tw_dev->srb[request_id] == NULL) {
drivers/scsi/3w-sas.c
1208
cmd = tw_dev->srb[request_id];
drivers/scsi/3w-sas.c
1215
if (full_command_packet->command.newcommand.sg_list[0].length < scsi_bufflen(tw_dev->srb[request_id]))
drivers/scsi/3w-sas.c
1370
struct scsi_cmnd *cmd = tw_dev->srb[i];
drivers/scsi/3w-sas.c
1474
tw_dev->srb[request_id] = SCpnt;
drivers/scsi/3w-sas.c
299
struct scsi_cmnd *srb = NULL;
drivers/scsi/3w-sas.c
303
if (tw_dev->srb[request_id])
drivers/scsi/3w-sas.c
304
srb = tw_dev->srb[request_id];
drivers/scsi/3w-sas.c
318
memcpy(command_packet->cdb, srb->cmnd, TW_MAX_CDB_LEN);
drivers/scsi/3w-sas.c
322
if (srb) {
drivers/scsi/3w-sas.c
323
command_packet->unit = srb->device->id;
drivers/scsi/3w-sas.c
325
cpu_to_le16(TW_REQ_LUN_IN(srb->device->lun, request_id));
drivers/scsi/3w-sas.c
336
if (scsi_sg_count(srb)) {
drivers/scsi/3w-sas.c
337
sg_count = scsi_dma_map(srb);
drivers/scsi/3w-sas.c
341
scsi_for_each_sg(srb, sg, sg_count, i) {
drivers/scsi/3w-sas.c
345
command_packet->sgl_entries__lunh = cpu_to_le16(TW_REQ_LUN_IN((srb->device->lun >> 4), scsi_sg_count(tw_dev->srb[request_id])));
drivers/scsi/3w-sas.c
357
if (srb) {
drivers/scsi/3w-sas.c
358
tw_dev->sector_count = scsi_bufflen(srb) / 512;
drivers/scsi/3w-sas.c
361
tw_dev->sgl_entries = scsi_sg_count(srb);
drivers/scsi/3w-sas.c
395
tw_dev->srb[request_id] = NULL;
drivers/scsi/3w-sas.c
443
tw_dev->srb[request_id] = NULL;
drivers/scsi/3w-sas.c
585
tw_dev->srb[request_id] = NULL;
drivers/scsi/3w-sas.c
770
tw_dev->srb[request_id] = NULL;
drivers/scsi/3w-sas.c
891
memcpy(tw_dev->srb[request_id]->sense_buffer, header->sense_data, TW_SENSE_DATA_LENGTH);
drivers/scsi/3w-sas.c
892
tw_dev->srb[request_id]->result = (full_command_packet->command.newcommand.status << 1);
drivers/scsi/3w-sas.h
379
struct scsi_cmnd *srb[TW_Q_LENGTH];
drivers/scsi/3w-xxxx.c
1164
tw_dev->srb[request_id]->result = (DID_OK << 16);
drivers/scsi/3w-xxxx.c
1165
scsi_done(tw_dev->srb[request_id]);
drivers/scsi/3w-xxxx.c
1291
struct scsi_cmnd *srb;
drivers/scsi/3w-xxxx.c
1306
srb = tw_dev->srb[i];
drivers/scsi/3w-xxxx.c
1307
if (srb != NULL) {
drivers/scsi/3w-xxxx.c
1308
srb->result = (DID_RESET << 16);
drivers/scsi/3w-xxxx.c
1309
scsi_dma_unmap(srb);
drivers/scsi/3w-xxxx.c
1310
scsi_done(srb);
drivers/scsi/3w-xxxx.c
1454
scsi_sg_copy_from_buffer(tw_dev->srb[request_id], data, len);
drivers/scsi/3w-xxxx.c
1472
sprintf(&request_buffer[16], "Logical Disk %-2d ", tw_dev->srb[request_id]->device->id);
drivers/scsi/3w-xxxx.c
1484
if (is_unit_present[tw_dev->srb[request_id]->device->id] & TW_UNIT_ONLINE) {
drivers/scsi/3w-xxxx.c
1485
tw_dev->is_unit_present[tw_dev->srb[request_id]->device->id] = 1;
drivers/scsi/3w-xxxx.c
1487
tw_dev->is_unit_present[tw_dev->srb[request_id]->device->id] = 0;
drivers/scsi/3w-xxxx.c
1488
tw_dev->srb[request_id]->result = (DID_BAD_TARGET << 16);
drivers/scsi/3w-xxxx.c
1506
if (tw_dev->srb[request_id]->cmnd[2] != 0x8) {
drivers/scsi/3w-xxxx.c
1509
tw_dev->srb[request_id]->result = (DID_OK << 16);
drivers/scsi/3w-xxxx.c
1510
scsi_done(tw_dev->srb[request_id]);
drivers/scsi/3w-xxxx.c
1538
param->table_id = TW_UNIT_INFORMATION_TABLE_BASE + tw_dev->srb[request_id]->device->id;
drivers/scsi/3w-xxxx.c
1615
command_packet->unit__hostid = TW_UNITHOST_IN(0, tw_dev->srb[request_id]->device->id);
drivers/scsi/3w-xxxx.c
1628
tw_dev->srb[request_id]->device->id;
drivers/scsi/3w-xxxx.c
1701
struct scsi_cmnd *srb;
drivers/scsi/3w-xxxx.c
1706
srb = tw_dev->srb[request_id];
drivers/scsi/3w-xxxx.c
1708
sglist = scsi_sglist(srb);
drivers/scsi/3w-xxxx.c
1721
if (srb->cmnd[0] == READ_6 || srb->cmnd[0] == READ_10) {
drivers/scsi/3w-xxxx.c
1729
command_packet->unit__hostid = TW_UNITHOST_IN(0, srb->device->id);
drivers/scsi/3w-xxxx.c
1733
if (srb->cmnd[0] == WRITE_10) {
drivers/scsi/3w-xxxx.c
1734
if ((srb->cmnd[1] & 0x8) || (srb->cmnd[1] & 0x10))
drivers/scsi/3w-xxxx.c
1738
if (srb->cmnd[0] == READ_6 || srb->cmnd[0] == WRITE_6) {
drivers/scsi/3w-xxxx.c
1739
lba = ((u32)srb->cmnd[1] << 16) | ((u32)srb->cmnd[2] << 8) | (u32)srb->cmnd[3];
drivers/scsi/3w-xxxx.c
1740
num_sectors = (u32)srb->cmnd[4];
drivers/scsi/3w-xxxx.c
1742
lba = ((u32)srb->cmnd[2] << 24) | ((u32)srb->cmnd[3] << 16) | ((u32)srb->cmnd[4] << 8) | (u32)srb->cmnd[5];
drivers/scsi/3w-xxxx.c
1743
num_sectors = (u32)srb->cmnd[8] | ((u32)srb->cmnd[7] << 8);
drivers/scsi/3w-xxxx.c
1755
use_sg = scsi_dma_map(srb);
drivers/scsi/3w-xxxx.c
1759
scsi_for_each_sg(tw_dev->srb[request_id], sg, use_sg, i) {
drivers/scsi/3w-xxxx.c
1766
tw_dev->sgl_entries = scsi_sg_count(tw_dev->srb[request_id]);
drivers/scsi/3w-xxxx.c
1800
tw_dev->srb[request_id]->result = (DID_ERROR << 16);
drivers/scsi/3w-xxxx.c
1801
scsi_done(tw_dev->srb[request_id]);
drivers/scsi/3w-xxxx.c
1826
command_packet->unit__hostid = TW_UNITHOST_IN(0, tw_dev->srb[request_id]->device->id);
drivers/scsi/3w-xxxx.c
1911
if (is_unit_present[tw_dev->srb[request_id]->device->id] & TW_UNIT_ONLINE) {
drivers/scsi/3w-xxxx.c
1912
tw_dev->is_unit_present[tw_dev->srb[request_id]->device->id] = 1;
drivers/scsi/3w-xxxx.c
1914
tw_dev->is_unit_present[tw_dev->srb[request_id]->device->id] = 0;
drivers/scsi/3w-xxxx.c
1915
tw_dev->srb[request_id]->result = (DID_BAD_TARGET << 16);
drivers/scsi/3w-xxxx.c
1939
tw_dev->srb[request_id] = SCpnt;
drivers/scsi/3w-xxxx.c
2090
if (tw_dev->srb[request_id] == NULL) {
drivers/scsi/3w-xxxx.c
2099
if (tw_dev->srb[request_id] != NULL) {
drivers/scsi/3w-xxxx.c
2108
if (tw_dev->srb[request_id] == NULL) {
drivers/scsi/3w-xxxx.c
2121
switch (tw_dev->srb[request_id]->cmnd[0]) {
drivers/scsi/3w-xxxx.c
2156
tw_dev->srb[request_id]->result = (DID_OK << 16);
drivers/scsi/3w-xxxx.c
2162
tw_dev->srb[request_id]->result = (DID_OK << 16) | SAM_STAT_CHECK_CONDITION;
drivers/scsi/3w-xxxx.c
2167
scsi_dma_unmap(tw_dev->srb[request_id]);
drivers/scsi/3w-xxxx.c
2168
scsi_done(tw_dev->srb[request_id]);
drivers/scsi/3w-xxxx.c
418
tw_dev->srb[request_id]->sense_buffer[0] = (0x1 << 7 | 0x70);
drivers/scsi/3w-xxxx.c
421
tw_dev->srb[request_id]->sense_buffer[2] = tw_sense_table[i][1];
drivers/scsi/3w-xxxx.c
424
tw_dev->srb[request_id]->sense_buffer[7] = 0xa; /* 10 bytes */
drivers/scsi/3w-xxxx.c
427
tw_dev->srb[request_id]->sense_buffer[12] = tw_sense_table[i][2];
drivers/scsi/3w-xxxx.c
430
tw_dev->srb[request_id]->sense_buffer[13] = tw_sense_table[i][3];
drivers/scsi/3w-xxxx.c
432
tw_dev->srb[request_id]->result = (DID_OK << 16) | SAM_STAT_CHECK_CONDITION;
drivers/scsi/3w-xxxx.c
597
tw_dev->srb[request_id] = NULL; /* Flag internal command */
drivers/scsi/3w-xxxx.c
959
tw_dev->srb[request_id] = NULL;
drivers/scsi/3w-xxxx.h
409
struct scsi_cmnd *srb[TW_Q_LENGTH];
drivers/scsi/a100u2w.c
617
if (host_scb->status && escb->srb == cmd)
drivers/scsi/a100u2w.c
648
escb->srb = NULL;
drivers/scsi/a100u2w.c
649
escb->srb = cmd;
drivers/scsi/a100u2w.c
779
if (scb->status && escb->srb == cmd) {
drivers/scsi/a100u2w.c
785
escb->srb = NULL;
drivers/scsi/a100u2w.c
851
escb->srb = cmd;
drivers/scsi/a100u2w.c
994
if ((cmd = (struct scsi_cmnd *) escb->srb) == NULL) {
drivers/scsi/a100u2w.c
999
escb->srb = NULL;
drivers/scsi/a100u2w.h
138
struct scsi_cmnd *srb; /*50 SRB Pointer */
drivers/scsi/aacraid/aachba.c
1678
struct aac_srb *srb;
drivers/scsi/aacraid/aachba.c
1706
srb = fib_data(fibptr);
drivers/scsi/aacraid/aachba.c
1707
memcpy(srb, &srbu->srb, sizeof(struct aac_srb));
drivers/scsi/aacraid/aachba.c
1715
srb->channel = cpu_to_le32(vbus);
drivers/scsi/aacraid/aachba.c
1716
srb->id = cpu_to_le32(vid);
drivers/scsi/aacraid/aachba.c
1717
srb->lun = 0;
drivers/scsi/aacraid/aachba.c
1718
srb->function = cpu_to_le32(SRBF_ExecuteScsi);
drivers/scsi/aacraid/aachba.c
1719
srb->timeout = 0;
drivers/scsi/aacraid/aachba.c
1720
srb->retry_limit = 0;
drivers/scsi/aacraid/aachba.c
1721
srb->cdb_size = cpu_to_le32(16);
drivers/scsi/aacraid/aachba.c
1722
srb->count = cpu_to_le32(xfer_len);
drivers/scsi/aacraid/aachba.c
1724
sg64 = (struct sgmap64 *)&srb->sg;
drivers/scsi/aacraid/aachba.c
1733
memcpy(&srbu->srb, srb, sizeof(struct aac_srb));
drivers/scsi/aacraid/aachba.c
1794
srbcmd = &srbu.srb;
drivers/scsi/aacraid/aachba.c
1842
srbcmd = &srbu.srb;
drivers/scsi/aacraid/aacraid.h
2027
struct aac_srb srb;
drivers/scsi/dc395x.c
1040
struct ScsiReqBlk *srb;
drivers/scsi/dc395x.c
1046
srb = find_cmd(cmd, &dcb->srb_waiting_list);
drivers/scsi/dc395x.c
1047
if (srb) {
drivers/scsi/dc395x.c
1048
list_del(&srb->list);
drivers/scsi/dc395x.c
1049
pci_unmap_srb_sense(acb, srb);
drivers/scsi/dc395x.c
1050
pci_unmap_srb(acb, srb);
drivers/scsi/dc395x.c
1051
free_tag(dcb, srb);
drivers/scsi/dc395x.c
1052
list_add_tail(&srb->list, &acb->srb_free_list);
drivers/scsi/dc395x.c
1056
srb = find_cmd(cmd, &dcb->srb_going_list);
drivers/scsi/dc395x.c
1057
if (srb) {
drivers/scsi/dc395x.c
1066
struct ScsiReqBlk *srb)
drivers/scsi/dc395x.c
1068
u8 *ptr = srb->msgout_buf + srb->msg_count;
drivers/scsi/dc395x.c
1069
if (srb->msg_count > 1) {
drivers/scsi/dc395x.c
1078
srb->msg_count += spi_populate_sync_msg(ptr, dcb->min_nego_period,
drivers/scsi/dc395x.c
1080
srb->state |= SRB_DO_SYNC_NEGO;
drivers/scsi/dc395x.c
1086
struct ScsiReqBlk *srb)
drivers/scsi/dc395x.c
1090
u8 *ptr = srb->msgout_buf + srb->msg_count;
drivers/scsi/dc395x.c
1091
if (srb->msg_count > 1)
drivers/scsi/dc395x.c
1094
srb->msg_count += spi_populate_width_msg(ptr, wide);
drivers/scsi/dc395x.c
1095
srb->state |= SRB_DO_WIDE_NEGO;
drivers/scsi/dc395x.c
1124
struct ScsiReqBlk *srb;
drivers/scsi/dc395x.c
1129
srb = acb->active_dcb->active_srb;
drivers/scsi/dc395x.c
1137
struct ScsiReqBlk* srb)
drivers/scsi/dc395x.c
1143
srb->tag_number = TAG_NONE; /* acb->tag_max_num: had error read in eeprom */
drivers/scsi/dc395x.c
1181
srb->scsi_phase = PH_BUS_FREE; /* initial phase */
drivers/scsi/dc395x.c
1186
if (srb->flag & AUTO_REQSENSE)
drivers/scsi/dc395x.c
1189
if (((srb->cmd->cmnd[0] == INQUIRY)
drivers/scsi/dc395x.c
1190
|| (srb->cmd->cmnd[0] == REQUEST_SENSE)
drivers/scsi/dc395x.c
1191
|| (srb->flag & AUTO_REQSENSE))
drivers/scsi/dc395x.c
1197
srb->msgout_buf[0] = identify_message;
drivers/scsi/dc395x.c
1198
srb->msg_count = 1;
drivers/scsi/dc395x.c
1200
srb->state = SRB_MSGOUT;
drivers/scsi/dc395x.c
1204
build_wdtr(acb, dcb, srb);
drivers/scsi/dc395x.c
1210
build_sdtr(acb, dcb, srb);
drivers/scsi/dc395x.c
1215
build_wdtr(acb, dcb, srb);
drivers/scsi/dc395x.c
1218
srb->msg_count = 0;
drivers/scsi/dc395x.c
1224
srb->state = SRB_START_;
drivers/scsi/dc395x.c
1237
srb->state = SRB_READY;
drivers/scsi/dc395x.c
1246
srb->tag_number = tag_number;
drivers/scsi/dc395x.c
1248
srb->state = SRB_START_;
drivers/scsi/dc395x.c
1253
if (srb->flag & AUTO_REQSENSE) {
drivers/scsi/dc395x.c
1261
ptr = (u8 *)srb->cmd->cmnd;
drivers/scsi/dc395x.c
1262
for (i = 0; i < srb->cmd->cmd_len; i++)
drivers/scsi/dc395x.c
1274
srb->state = SRB_READY;
drivers/scsi/dc395x.c
1275
free_tag(dcb, srb);
drivers/scsi/dc395x.c
1276
srb->msg_count = 0;
drivers/scsi/dc395x.c
1284
srb->scsi_phase = PH_BUS_FREE; /* initial phase */
drivers/scsi/dc395x.c
1285
dcb->active_srb = srb;
drivers/scsi/dc395x.c
1300
srb->state |= SRB_MSGOUT
drivers/scsi/dc395x.c
1305
struct ScsiReqBlk *srb)
drivers/scsi/dc395x.c
1307
srb->msgout_buf[0] = ABORT;
drivers/scsi/dc395x.c
1308
srb->msg_count = 1;
drivers/scsi/dc395x.c
1310
srb->state &= ~SRB_MSGIN;
drivers/scsi/dc395x.c
1311
srb->state |= SRB_MSGOUT;
drivers/scsi/dc395x.c
1326
struct ScsiReqBlk *srb;
drivers/scsi/dc395x.c
1361
srb = dcb->active_srb;
drivers/scsi/dc395x.c
1363
enable_msgout_abort(acb, srb);
drivers/scsi/dc395x.c
1366
phase = (u16)srb->scsi_phase;
drivers/scsi/dc395x.c
1382
dc395x_statev(acb, srb, &scsi_status);
drivers/scsi/dc395x.c
1389
srb->scsi_phase = scsi_status & PHASEMASK;
drivers/scsi/dc395x.c
1405
dc395x_statev(acb, srb, &scsi_status);
drivers/scsi/dc395x.c
1448
static void msgout_phase0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
1451
if (srb->state & (SRB_UNEXPECT_RESEL + SRB_ABORT_SENT))
drivers/scsi/dc395x.c
1455
srb->state &= ~SRB_MSGOUT;
drivers/scsi/dc395x.c
1459
static void msgout_phase1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
1466
if (!(srb->state & SRB_MSGOUT))
drivers/scsi/dc395x.c
1467
srb->state |= SRB_MSGOUT;
drivers/scsi/dc395x.c
1469
if (!srb->msg_count) {
drivers/scsi/dc395x.c
1476
ptr = (u8 *)srb->msgout_buf;
drivers/scsi/dc395x.c
1477
for (i = 0; i < srb->msg_count; i++)
drivers/scsi/dc395x.c
1479
srb->msg_count = 0;
drivers/scsi/dc395x.c
1480
if (srb->msgout_buf[0] == ABORT_TASK_SET)
drivers/scsi/dc395x.c
1481
srb->state = SRB_ABORT_SENT;
drivers/scsi/dc395x.c
1487
static void command_phase0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
1494
static void command_phase1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
1503
if (!(srb->flag & AUTO_REQSENSE)) {
drivers/scsi/dc395x.c
1504
ptr = (u8 *)srb->cmd->cmnd;
drivers/scsi/dc395x.c
1505
for (i = 0; i < srb->cmd->cmd_len; i++) {
drivers/scsi/dc395x.c
1519
srb->state |= SRB_COMMAND;
drivers/scsi/dc395x.c
1531
static void sg_update_list(struct ScsiReqBlk *srb, u32 left)
drivers/scsi/dc395x.c
1534
u32 xferred = srb->total_xfer_length - left; /* bytes transferred */
drivers/scsi/dc395x.c
1535
struct SGentry *psge = srb->segment_x + srb->sg_index;
drivers/scsi/dc395x.c
1542
srb->total_xfer_length = left; /* update remaining count */
drivers/scsi/dc395x.c
1543
for (idx = srb->sg_index; idx < srb->sg_count; idx++) {
drivers/scsi/dc395x.c
1549
dma_sync_single_for_cpu(&srb->dcb->acb->dev->dev,
drivers/scsi/dc395x.c
1550
srb->sg_bus_addr, SEGMENTX_LEN,
drivers/scsi/dc395x.c
1554
srb->sg_index = idx;
drivers/scsi/dc395x.c
1555
dma_sync_single_for_device(&srb->dcb->acb->dev->dev,
drivers/scsi/dc395x.c
1556
srb->sg_bus_addr, SEGMENTX_LEN,
drivers/scsi/dc395x.c
1571
static void sg_subtract_one(struct ScsiReqBlk *srb)
drivers/scsi/dc395x.c
1573
sg_update_list(srb, srb->total_xfer_length - 1);
drivers/scsi/dc395x.c
1586
struct ScsiReqBlk *srb)
drivers/scsi/dc395x.c
1611
static void data_out_phase0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
1614
struct DeviceCtlBlk *dcb = srb->dcb;
drivers/scsi/dc395x.c
1632
if (!(srb->state & SRB_XFERPAD)) {
drivers/scsi/dc395x.c
1634
srb->status |= PARITY_ERROR;
drivers/scsi/dc395x.c
1663
if (srb->total_xfer_length > DC395x_LASTPIO)
drivers/scsi/dc395x.c
1671
&& scsi_bufflen(srb->cmd) % 2) {
drivers/scsi/dc395x.c
1685
srb->total_xfer_length = 0;
drivers/scsi/dc395x.c
1693
srb->total_xfer_length - d_left_counter;
drivers/scsi/dc395x.c
1696
sg_update_list(srb, d_left_counter);
drivers/scsi/dc395x.c
1698
if ((srb->segment_x[srb->sg_index].length ==
drivers/scsi/dc395x.c
1699
diff && scsi_sg_count(srb->cmd))
drivers/scsi/dc395x.c
1704
srb->total_xfer_length - diff;
drivers/scsi/dc395x.c
1705
sg_update_list(srb, d_left_counter);
drivers/scsi/dc395x.c
1714
cleanup_after_transfer(acb, srb);
drivers/scsi/dc395x.c
1718
static void data_out_phase1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
1723
data_io_transfer(acb, srb, XFERDATAOUT);
drivers/scsi/dc395x.c
1726
static void data_in_phase0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
1745
if (!(srb->state & SRB_XFERPAD)) {
drivers/scsi/dc395x.c
1750
srb->status |= PARITY_ERROR;
drivers/scsi/dc395x.c
1774
<< ((srb->dcb->sync_period & WIDE_SYNC) ? 1 :
drivers/scsi/dc395x.c
1779
&& srb->total_xfer_length <= DC395x_LASTPIO) {
drivers/scsi/dc395x.c
1780
size_t left_io = srb->total_xfer_length;
drivers/scsi/dc395x.c
1784
if (srb->dcb->sync_period & WIDE_SYNC)
drivers/scsi/dc395x.c
1791
size_t offset = srb->request_length - left_io;
drivers/scsi/dc395x.c
1796
base = scsi_kmap_atomic_sg(scsi_sglist(srb->cmd),
drivers/scsi/dc395x.c
1797
srb->sg_count, &offset, &len);
drivers/scsi/dc395x.c
1808
sg_subtract_one(srb);
drivers/scsi/dc395x.c
1822
if (fc == 0x40 && (srb->dcb->sync_period & WIDE_SYNC)) {
drivers/scsi/dc395x.c
1824
if (srb->total_xfer_length > 0) {
drivers/scsi/dc395x.c
1828
srb->total_xfer_length--;
drivers/scsi/dc395x.c
1854
if (srb->dcb->sync_period & WIDE_SYNC)
drivers/scsi/dc395x.c
1873
srb->total_xfer_length = 0;
drivers/scsi/dc395x.c
1875
srb->total_xfer_length = d_left_counter;
drivers/scsi/dc395x.c
1885
sg_update_list(srb, d_left_counter);
drivers/scsi/dc395x.c
1890
cleanup_after_transfer(acb, srb);
drivers/scsi/dc395x.c
1894
static void data_in_phase1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
1897
data_io_transfer(acb, srb, XFERDATAIN);
drivers/scsi/dc395x.c
1902
struct ScsiReqBlk *srb, u16 io_dir)
drivers/scsi/dc395x.c
1904
struct DeviceCtlBlk *dcb = srb->dcb;
drivers/scsi/dc395x.c
1907
if (srb->sg_index >= srb->sg_count) {
drivers/scsi/dc395x.c
1912
if (srb->total_xfer_length > DC395x_LASTPIO) {
drivers/scsi/dc395x.c
1926
srb->state |= SRB_DATA_XFER;
drivers/scsi/dc395x.c
1928
if (scsi_sg_count(srb->cmd)) { /* with S/G */
drivers/scsi/dc395x.c
1931
srb->sg_bus_addr +
drivers/scsi/dc395x.c
1933
srb->sg_index);
drivers/scsi/dc395x.c
1936
((u32)(srb->sg_count -
drivers/scsi/dc395x.c
1937
srb->sg_index) << 3));
drivers/scsi/dc395x.c
1941
srb->segment_x[0].address);
drivers/scsi/dc395x.c
1943
srb->segment_x[0].length);
drivers/scsi/dc395x.c
1947
srb->total_xfer_length);
drivers/scsi/dc395x.c
1961
else if (srb->total_xfer_length > 0) { /* The last four bytes: Do PIO */
drivers/scsi/dc395x.c
1966
srb->state |= SRB_DATA_XFER;
drivers/scsi/dc395x.c
1969
srb->total_xfer_length);
drivers/scsi/dc395x.c
1975
int ln = srb->total_xfer_length;
drivers/scsi/dc395x.c
1976
size_t left_io = srb->total_xfer_length;
drivers/scsi/dc395x.c
1978
if (srb->dcb->sync_period & WIDE_SYNC)
drivers/scsi/dc395x.c
1986
size_t offset = srb->request_length - left_io;
drivers/scsi/dc395x.c
1990
base = scsi_kmap_atomic_sg(scsi_sglist(srb->cmd),
drivers/scsi/dc395x.c
1991
srb->sg_count, &offset, &len);
drivers/scsi/dc395x.c
1999
sg_subtract_one(srb);
drivers/scsi/dc395x.c
2005
if (srb->dcb->sync_period & WIDE_SYNC) {
drivers/scsi/dc395x.c
2018
if (srb->sg_count) {
drivers/scsi/dc395x.c
2019
srb->adapter_status = H_OVER_UNDER_RUN;
drivers/scsi/dc395x.c
2020
srb->status |= OVER_RUN;
drivers/scsi/dc395x.c
2051
srb->state |= SRB_XFERPAD;
drivers/scsi/dc395x.c
2060
static void status_phase0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
2063
srb->target_status = DC395x_read8(acb, TRM_S1040_SCSI_FIFO);
drivers/scsi/dc395x.c
2064
srb->end_message = DC395x_read8(acb, TRM_S1040_SCSI_FIFO); /* get message */
drivers/scsi/dc395x.c
2065
srb->state = SRB_COMPLETED;
drivers/scsi/dc395x.c
2072
static void status_phase1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
2075
srb->state = SRB_STATUS;
drivers/scsi/dc395x.c
2097
struct ScsiReqBlk *srb)
drivers/scsi/dc395x.c
2099
srb->msgout_buf[0] = MESSAGE_REJECT;
drivers/scsi/dc395x.c
2100
srb->msg_count = 1;
drivers/scsi/dc395x.c
2102
srb->state &= ~SRB_MSGIN;
drivers/scsi/dc395x.c
2103
srb->state |= SRB_MSGOUT;
drivers/scsi/dc395x.c
2110
struct ScsiReqBlk *srb = NULL;
drivers/scsi/dc395x.c
2117
srb = i;
drivers/scsi/dc395x.c
2121
if (!srb)
drivers/scsi/dc395x.c
2126
enable_msgout_abort(acb, srb);
drivers/scsi/dc395x.c
2129
if (!(srb->state & SRB_DISCONNECT))
drivers/scsi/dc395x.c
2132
memcpy(srb->msgin_buf, dcb->active_srb->msgin_buf, acb->msg_len);
drivers/scsi/dc395x.c
2133
srb->state |= dcb->active_srb->state;
drivers/scsi/dc395x.c
2134
srb->state |= SRB_DATA_XFER;
drivers/scsi/dc395x.c
2135
dcb->active_srb = srb;
drivers/scsi/dc395x.c
2137
return srb;
drivers/scsi/dc395x.c
2140
srb = acb->tmp_srb;
drivers/scsi/dc395x.c
2141
srb->state = SRB_UNEXPECT_RESEL;
drivers/scsi/dc395x.c
2142
dcb->active_srb = srb;
drivers/scsi/dc395x.c
2143
srb->msgout_buf[0] = ABORT_TASK;
drivers/scsi/dc395x.c
2144
srb->msg_count = 1;
drivers/scsi/dc395x.c
2146
return srb;
drivers/scsi/dc395x.c
2161
static void msgin_set_async(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb)
drivers/scsi/dc395x.c
2163
struct DeviceCtlBlk *dcb = srb->dcb;
drivers/scsi/dc395x.c
2170
srb->state &= ~SRB_DO_SYNC_NEGO;
drivers/scsi/dc395x.c
2174
build_wdtr(acb, dcb, srb);
drivers/scsi/dc395x.c
2181
static void msgin_set_sync(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb)
drivers/scsi/dc395x.c
2183
struct DeviceCtlBlk *dcb = srb->dcb;
drivers/scsi/dc395x.c
2187
if (srb->msgin_buf[4] > 15)
drivers/scsi/dc395x.c
2188
srb->msgin_buf[4] = 15;
drivers/scsi/dc395x.c
2192
dcb->sync_offset = srb->msgin_buf[4];
drivers/scsi/dc395x.c
2193
if (srb->msgin_buf[4] > dcb->sync_offset)
drivers/scsi/dc395x.c
2194
srb->msgin_buf[4] = dcb->sync_offset;
drivers/scsi/dc395x.c
2196
dcb->sync_offset = srb->msgin_buf[4];
drivers/scsi/dc395x.c
2198
while (bval < 7 && (srb->msgin_buf[3] > clock_period[bval]
drivers/scsi/dc395x.c
2203
srb->msgin_buf[3] = clock_period[bval];
drivers/scsi/dc395x.c
2206
dcb->min_nego_period = srb->msgin_buf[3];
drivers/scsi/dc395x.c
2213
if (!(srb->state & SRB_DO_SYNC_NEGO)) {
drivers/scsi/dc395x.c
2216
memcpy(srb->msgout_buf, srb->msgin_buf, 5);
drivers/scsi/dc395x.c
2217
srb->msg_count = 5;
drivers/scsi/dc395x.c
2223
build_wdtr(acb, dcb, srb);
drivers/scsi/dc395x.c
2227
srb->state &= ~SRB_DO_SYNC_NEGO;
drivers/scsi/dc395x.c
2235
struct ScsiReqBlk *srb)
drivers/scsi/dc395x.c
2237
struct DeviceCtlBlk *dcb = srb->dcb;
drivers/scsi/dc395x.c
2242
srb->state &= ~SRB_DO_WIDE_NEGO;
drivers/scsi/dc395x.c
2246
build_sdtr(acb, dcb, srb);
drivers/scsi/dc395x.c
2251
static void msgin_set_wide(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb)
drivers/scsi/dc395x.c
2253
struct DeviceCtlBlk *dcb = srb->dcb;
drivers/scsi/dc395x.c
2257
if (srb->msgin_buf[3] > wide)
drivers/scsi/dc395x.c
2258
srb->msgin_buf[3] = wide;
drivers/scsi/dc395x.c
2260
if (!(srb->state & SRB_DO_WIDE_NEGO)) {
drivers/scsi/dc395x.c
2261
memcpy(srb->msgout_buf, srb->msgin_buf, 4);
drivers/scsi/dc395x.c
2262
srb->msg_count = 4;
drivers/scsi/dc395x.c
2263
srb->state |= SRB_DO_WIDE_NEGO;
drivers/scsi/dc395x.c
2268
if (srb->msgin_buf[3] > 0)
drivers/scsi/dc395x.c
2272
srb->state &= ~SRB_DO_WIDE_NEGO;
drivers/scsi/dc395x.c
2277
build_sdtr(acb, dcb, srb);
drivers/scsi/dc395x.c
2295
static void msgin_phase0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
2300
srb->msgin_buf[acb->msg_len++] = DC395x_read8(acb, TRM_S1040_SCSI_FIFO);
drivers/scsi/dc395x.c
2301
if (msgin_completed(srb->msgin_buf, acb->msg_len)) {
drivers/scsi/dc395x.c
2303
switch (srb->msgin_buf[0]) {
drivers/scsi/dc395x.c
2305
srb->state = SRB_DISCONNECT;
drivers/scsi/dc395x.c
2311
srb =
drivers/scsi/dc395x.c
2313
srb->msgin_buf[1]);
drivers/scsi/dc395x.c
2320
if (srb->state & SRB_DO_SYNC_NEGO) {
drivers/scsi/dc395x.c
2321
msgin_set_async(acb, srb);
drivers/scsi/dc395x.c
2325
if (srb->state & SRB_DO_WIDE_NEGO) {
drivers/scsi/dc395x.c
2326
msgin_set_nowide(acb, srb);
drivers/scsi/dc395x.c
2329
enable_msgout_abort(acb, srb);
drivers/scsi/dc395x.c
2335
if (srb->msgin_buf[1] == 3
drivers/scsi/dc395x.c
2336
&& srb->msgin_buf[2] == EXTENDED_SDTR) {
drivers/scsi/dc395x.c
2337
msgin_set_sync(acb, srb);
drivers/scsi/dc395x.c
2341
if (srb->msgin_buf[1] == 2
drivers/scsi/dc395x.c
2342
&& srb->msgin_buf[2] == EXTENDED_WDTR
drivers/scsi/dc395x.c
2343
&& srb->msgin_buf[3] <= 2) { /* sanity check ... */
drivers/scsi/dc395x.c
2344
msgin_set_wide(acb, srb);
drivers/scsi/dc395x.c
2347
msgin_reject(acb, srb);
drivers/scsi/dc395x.c
2370
enable_msgout_abort(acb, srb);
drivers/scsi/dc395x.c
2375
if (srb->msgin_buf[0] & IDENTIFY_BASE) {
drivers/scsi/dc395x.c
2376
srb->msg_count = 1;
drivers/scsi/dc395x.c
2377
srb->msgout_buf[0] = dcb->identify_msg;
drivers/scsi/dc395x.c
2379
srb->state |= SRB_MSGOUT;
drivers/scsi/dc395x.c
2382
msgin_reject(acb, srb);
drivers/scsi/dc395x.c
2386
srb->state &= ~SRB_MSGIN;
drivers/scsi/dc395x.c
2395
static void msgin_phase1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
2400
if (!(srb->state & SRB_MSGIN)) {
drivers/scsi/dc395x.c
2401
srb->state &= ~SRB_DISCONNECT;
drivers/scsi/dc395x.c
2402
srb->state |= SRB_MSGIN;
drivers/scsi/dc395x.c
2410
static void nop0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
2416
static void nop1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
2448
struct ScsiReqBlk *srb;
drivers/scsi/dc395x.c
2460
srb = dcb->active_srb;
drivers/scsi/dc395x.c
2463
srb->scsi_phase = PH_BUS_FREE; /* initial phase */
drivers/scsi/dc395x.c
2466
if (srb->state & SRB_UNEXPECT_RESEL) {
drivers/scsi/dc395x.c
2467
srb->state = 0;
drivers/scsi/dc395x.c
2469
} else if (srb->state & SRB_ABORT_SENT) {
drivers/scsi/dc395x.c
2472
doing_srb_done(acb, DID_ABORT, srb->cmd, 1);
drivers/scsi/dc395x.c
2475
if ((srb->state & (SRB_START_ + SRB_MSGOUT))
drivers/scsi/dc395x.c
2476
|| !(srb->
drivers/scsi/dc395x.c
2483
if (srb->state != SRB_START_
drivers/scsi/dc395x.c
2484
&& srb->state != SRB_MSGOUT) {
drivers/scsi/dc395x.c
2485
srb->state = SRB_READY;
drivers/scsi/dc395x.c
2486
srb->target_status = SCSI_STAT_SEL_TIMEOUT;
drivers/scsi/dc395x.c
2490
if (srb->retry_count++ > DC395x_MAX_RETRIES
drivers/scsi/dc395x.c
2492
srb->target_status =
drivers/scsi/dc395x.c
2496
free_tag(dcb, srb);
drivers/scsi/dc395x.c
2497
list_move(&srb->list, &dcb->srb_waiting_list);
drivers/scsi/dc395x.c
2500
} else if (srb->state & SRB_DISCONNECT) {
drivers/scsi/dc395x.c
2509
} else if (srb->state & SRB_COMPLETED) {
drivers/scsi/dc395x.c
2514
free_tag(dcb, srb);
drivers/scsi/dc395x.c
2516
srb->state = SRB_FREE;
drivers/scsi/dc395x.c
2517
srb_done(acb, dcb, srb);
drivers/scsi/dc395x.c
2526
struct ScsiReqBlk *srb = NULL;
drivers/scsi/dc395x.c
2535
srb = dcb->active_srb;
drivers/scsi/dc395x.c
2536
if (!srb) {
drivers/scsi/dc395x.c
2544
srb->state = SRB_READY;
drivers/scsi/dc395x.c
2545
free_tag(dcb, srb);
drivers/scsi/dc395x.c
2546
list_move(&srb->list, &dcb->srb_waiting_list);
drivers/scsi/dc395x.c
2563
srb = acb->tmp_srb;
drivers/scsi/dc395x.c
2564
dcb->active_srb = srb;
drivers/scsi/dc395x.c
2567
srb = dcb->active_srb;
drivers/scsi/dc395x.c
2568
if (!srb || !(srb->state & SRB_DISCONNECT)) {
drivers/scsi/dc395x.c
2572
srb = acb->tmp_srb;
drivers/scsi/dc395x.c
2573
srb->state = SRB_UNEXPECT_RESEL;
drivers/scsi/dc395x.c
2574
dcb->active_srb = srb;
drivers/scsi/dc395x.c
2575
enable_msgout_abort(acb, srb);
drivers/scsi/dc395x.c
2579
enable_msgout_abort(acb, srb);
drivers/scsi/dc395x.c
2581
srb->state = SRB_DATA_XFER;
drivers/scsi/dc395x.c
2585
srb->scsi_phase = PH_BUS_FREE; /* initial phase */
drivers/scsi/dc395x.c
260
struct ScsiReqBlk srb;
drivers/scsi/dc395x.c
2646
static void pci_unmap_srb(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb)
drivers/scsi/dc395x.c
2648
struct scsi_cmnd *cmd = srb->cmd;
drivers/scsi/dc395x.c
2653
dma_unmap_single(&acb->dev->dev, srb->sg_bus_addr, SEGMENTX_LEN,
drivers/scsi/dc395x.c
2663
struct ScsiReqBlk *srb)
drivers/scsi/dc395x.c
2665
if (!(srb->flag & AUTO_REQSENSE))
drivers/scsi/dc395x.c
2668
dma_unmap_single(&acb->dev->dev, srb->segment_x[0].address,
drivers/scsi/dc395x.c
2669
srb->segment_x[0].length, DMA_FROM_DEVICE);
drivers/scsi/dc395x.c
2671
srb->total_xfer_length = srb->xferred;
drivers/scsi/dc395x.c
2672
srb->segment_x[0].address =
drivers/scsi/dc395x.c
2673
srb->segment_x[DC395x_MAX_SG_LISTENTRY - 1].address;
drivers/scsi/dc395x.c
2674
srb->segment_x[0].length =
drivers/scsi/dc395x.c
2675
srb->segment_x[DC395x_MAX_SG_LISTENTRY - 1].length;
drivers/scsi/dc395x.c
2684
struct ScsiReqBlk *srb)
drivers/scsi/dc395x.c
2687
struct scsi_cmnd *cmd = srb->cmd;
drivers/scsi/dc395x.c
269
static void data_out_phase0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
2691
status = srb->target_status;
drivers/scsi/dc395x.c
2694
if (srb->flag & AUTO_REQSENSE) {
drivers/scsi/dc395x.c
2695
pci_unmap_srb_sense(acb, srb);
drivers/scsi/dc395x.c
2699
srb->flag &= ~AUTO_REQSENSE;
drivers/scsi/dc395x.c
2700
srb->adapter_status = 0;
drivers/scsi/dc395x.c
2701
srb->target_status = SAM_STAT_CHECK_CONDITION;
drivers/scsi/dc395x.c
271
static void data_in_phase0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
2719
request_sense(acb, dcb, srb);
drivers/scsi/dc395x.c
2726
free_tag(dcb, srb);
drivers/scsi/dc395x.c
2727
list_move(&srb->list, &dcb->srb_waiting_list);
drivers/scsi/dc395x.c
2729
srb->adapter_status = 0;
drivers/scsi/dc395x.c
273
static void command_phase0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
2730
srb->target_status = 0;
drivers/scsi/dc395x.c
2733
srb->adapter_status = H_SEL_TIMEOUT;
drivers/scsi/dc395x.c
2734
srb->target_status = 0;
drivers/scsi/dc395x.c
2737
srb->adapter_status = 0;
drivers/scsi/dc395x.c
2745
status = srb->adapter_status;
drivers/scsi/dc395x.c
2747
srb->target_status = 0;
drivers/scsi/dc395x.c
2748
scsi_msg_to_host_byte(cmd, srb->end_message);
drivers/scsi/dc395x.c
2749
} else if (srb->status & PARITY_ERROR) {
drivers/scsi/dc395x.c
275
static void status_phase0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
2753
srb->adapter_status = 0;
drivers/scsi/dc395x.c
2754
srb->target_status = 0;
drivers/scsi/dc395x.c
2762
pci_unmap_srb(acb, srb);
drivers/scsi/dc395x.c
277
static void msgout_phase0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
279
static void msgin_phase0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
2795
scsi_set_resid(cmd, srb->total_xfer_length);
drivers/scsi/dc395x.c
2797
if (srb != acb->tmp_srb) {
drivers/scsi/dc395x.c
2799
list_move_tail(&srb->list, &acb->srb_free_list);
drivers/scsi/dc395x.c
281
static void data_out_phase1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
2814
struct ScsiReqBlk *srb;
drivers/scsi/dc395x.c
2818
list_for_each_entry_safe(srb, tmp, &dcb->srb_going_list, list) {
drivers/scsi/dc395x.c
2819
p = srb->cmd;
drivers/scsi/dc395x.c
2822
list_del(&srb->list);
drivers/scsi/dc395x.c
2823
free_tag(dcb, srb);
drivers/scsi/dc395x.c
2824
list_add_tail(&srb->list, &acb->srb_free_list);
drivers/scsi/dc395x.c
2827
pci_unmap_srb_sense(acb, srb);
drivers/scsi/dc395x.c
2828
pci_unmap_srb(acb, srb);
drivers/scsi/dc395x.c
283
static void data_in_phase1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
2837
list_for_each_entry_safe(srb, tmp, &dcb->srb_waiting_list, list) {
drivers/scsi/dc395x.c
2838
p = srb->cmd;
drivers/scsi/dc395x.c
2842
list_move_tail(&srb->list, &acb->srb_free_list);
drivers/scsi/dc395x.c
2845
pci_unmap_srb_sense(acb, srb);
drivers/scsi/dc395x.c
2846
pci_unmap_srb(acb, srb);
drivers/scsi/dc395x.c
285
static void command_phase1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
287
static void status_phase1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
289
static void msgout_phase1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
291
static void msgin_phase1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
293
static void nop0(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
2939
struct ScsiReqBlk *srb)
drivers/scsi/dc395x.c
2941
struct scsi_cmnd *cmd = srb->cmd;
drivers/scsi/dc395x.c
2943
srb->flag |= AUTO_REQSENSE;
drivers/scsi/dc395x.c
2944
srb->adapter_status = 0;
drivers/scsi/dc395x.c
2945
srb->target_status = 0;
drivers/scsi/dc395x.c
295
static void nop1(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb,
drivers/scsi/dc395x.c
2951
srb->segment_x[DC395x_MAX_SG_LISTENTRY - 1].address =
drivers/scsi/dc395x.c
2952
srb->segment_x[0].address;
drivers/scsi/dc395x.c
2953
srb->segment_x[DC395x_MAX_SG_LISTENTRY - 1].length =
drivers/scsi/dc395x.c
2954
srb->segment_x[0].length;
drivers/scsi/dc395x.c
2955
srb->xferred = srb->total_xfer_length;
drivers/scsi/dc395x.c
2957
srb->total_xfer_length = SCSI_SENSE_BUFFERSIZE;
drivers/scsi/dc395x.c
2958
srb->segment_x[0].length = SCSI_SENSE_BUFFERSIZE;
drivers/scsi/dc395x.c
2960
srb->segment_x[0].address = dma_map_single(&acb->dev->dev,
drivers/scsi/dc395x.c
2963
srb->sg_count = 1;
drivers/scsi/dc395x.c
2964
srb->sg_index = 0;
drivers/scsi/dc395x.c
2966
if (start_scsi(acb, dcb, srb)) { /* Should only happen, if sb. else grabs the bus */
drivers/scsi/dc395x.c
2967
list_move(&srb->list, &dcb->srb_waiting_list);
drivers/scsi/dc395x.c
299
struct ScsiReqBlk *srb);
drivers/scsi/dc395x.c
302
struct ScsiReqBlk *srb, u16 io_dir);
drivers/scsi/dc395x.c
306
struct ScsiReqBlk *srb);
drivers/scsi/dc395x.c
308
struct ScsiReqBlk *srb);
drivers/scsi/dc395x.c
310
struct ScsiReqBlk *srb);
drivers/scsi/dc395x.c
314
static void pci_unmap_srb(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb);
drivers/scsi/dc395x.c
316
struct ScsiReqBlk *srb);
drivers/scsi/dc395x.c
318
struct ScsiReqBlk *srb);
drivers/scsi/dc395x.c
320
struct ScsiReqBlk *srb);
drivers/scsi/dc395x.c
3528
acb->srb.segment_x =
drivers/scsi/dc395x.c
3601
acb->tmp_srb = &acb->srb;
drivers/scsi/dc395x.c
3917
struct ScsiReqBlk *srb;
drivers/scsi/dc395x.c
3922
list_for_each_entry(srb, &dcb->srb_waiting_list, list)
drivers/scsi/dc395x.c
3923
seq_printf(m, " %p", srb->cmd);
drivers/scsi/dc395x.c
3928
list_for_each_entry(srb, &dcb->srb_going_list, list)
drivers/scsi/dc395x.c
3929
seq_printf(m, " %p", srb->cmd);
drivers/scsi/dc395x.c
650
static void free_tag(struct DeviceCtlBlk *dcb, struct ScsiReqBlk *srb)
drivers/scsi/dc395x.c
652
if (srb->tag_number < 255) {
drivers/scsi/dc395x.c
653
dcb->tag_mask &= ~(1 << srb->tag_number); /* free tag mask */
drivers/scsi/dc395x.c
654
srb->tag_number = 255;
drivers/scsi/dc395x.c
690
struct ScsiReqBlk *srb;
drivers/scsi/dc395x.c
736
srb = list_entry(waiting_list_head->next,
drivers/scsi/dc395x.c
740
if (!start_scsi(acb, pos, srb))
drivers/scsi/dc395x.c
741
list_move(&srb->list, &pos->srb_going_list);
drivers/scsi/dc395x.c
769
static void send_srb(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb)
drivers/scsi/dc395x.c
771
struct DeviceCtlBlk *dcb = srb->dcb;
drivers/scsi/dc395x.c
776
list_add_tail(&srb->list, &dcb->srb_waiting_list);
drivers/scsi/dc395x.c
781
if (!start_scsi(acb, dcb, srb)) {
drivers/scsi/dc395x.c
782
list_add_tail(&srb->list, &dcb->srb_going_list);
drivers/scsi/dc395x.c
784
list_add(&srb->list, &dcb->srb_waiting_list);
drivers/scsi/dc395x.c
791
struct ScsiReqBlk *srb)
drivers/scsi/dc395x.c
796
srb->dcb = dcb;
drivers/scsi/dc395x.c
797
srb->cmd = cmd;
drivers/scsi/dc395x.c
798
srb->sg_count = 0;
drivers/scsi/dc395x.c
799
srb->total_xfer_length = 0;
drivers/scsi/dc395x.c
800
srb->sg_bus_addr = 0;
drivers/scsi/dc395x.c
801
srb->sg_index = 0;
drivers/scsi/dc395x.c
802
srb->adapter_status = 0;
drivers/scsi/dc395x.c
803
srb->target_status = 0;
drivers/scsi/dc395x.c
804
srb->msg_count = 0;
drivers/scsi/dc395x.c
805
srb->status = 0;
drivers/scsi/dc395x.c
806
srb->flag = 0;
drivers/scsi/dc395x.c
807
srb->state = 0;
drivers/scsi/dc395x.c
808
srb->retry_count = 0;
drivers/scsi/dc395x.c
809
srb->tag_number = TAG_NONE;
drivers/scsi/dc395x.c
810
srb->scsi_phase = PH_BUS_FREE; /* initial phase */
drivers/scsi/dc395x.c
811
srb->end_message = 0;
drivers/scsi/dc395x.c
820
struct SGentry *sgp = srb->segment_x;
drivers/scsi/dc395x.c
822
srb->sg_count = nseg;
drivers/scsi/dc395x.c
824
scsi_for_each_sg(cmd, sg, srb->sg_count, i) {
drivers/scsi/dc395x.c
829
srb->total_xfer_length += seglen;
drivers/scsi/dc395x.c
831
sgp += srb->sg_count - 1;
drivers/scsi/dc395x.c
837
if (srb->total_xfer_length > reqlen) {
drivers/scsi/dc395x.c
838
sgp->length -= (srb->total_xfer_length - reqlen);
drivers/scsi/dc395x.c
839
srb->total_xfer_length = reqlen;
drivers/scsi/dc395x.c
844
srb->total_xfer_length % 2) {
drivers/scsi/dc395x.c
845
srb->total_xfer_length++;
drivers/scsi/dc395x.c
849
srb->sg_bus_addr = dma_map_single(&dcb->acb->dev->dev,
drivers/scsi/dc395x.c
850
srb->segment_x, SEGMENTX_LEN, DMA_TO_DEVICE);
drivers/scsi/dc395x.c
854
srb->request_length = srb->total_xfer_length;
drivers/scsi/dc395x.c
880
struct ScsiReqBlk *srb;
drivers/scsi/dc395x.c
905
srb = list_first_entry_or_null(&acb->srb_free_list,
drivers/scsi/dc395x.c
908
if (!srb) {
drivers/scsi/dc395x.c
912
list_del(&srb->list);
drivers/scsi/dc395x.c
914
build_srb(cmd, dcb, srb);
drivers/scsi/dc395x.c
918
list_add_tail(&srb->list, &dcb->srb_waiting_list);
drivers/scsi/dc395x.c
922
send_srb(acb, srb);
drivers/scsi/initio.c
1219
if (initio_abort_srb(host, scb->srb) != 0) {
drivers/scsi/initio.c
2541
cblk->srb = cmnd;
drivers/scsi/initio.c
2739
if ((cmnd = cblk->srb) == NULL) {
drivers/scsi/initio.c
689
cmnd->srb = NULL;
drivers/scsi/initio.c
939
if (tmp->srb == srbp) {
drivers/scsi/initio.c
964
if (tmp->srb == srbp) {
drivers/scsi/initio.h
385
struct scsi_cmnd *srb; /*50 SRB Pointer */
drivers/scsi/qla1280.c
1236
struct srb *sp;
drivers/scsi/qla1280.c
1246
sp = list_entry(done_q->next, struct srb, list);
drivers/scsi/qla1280.c
1888
sizeof(struct srb *) * MAX_OUTSTANDING_COMMANDS);
drivers/scsi/qla1280.c
2634
qla1280_abort_command(struct scsi_qla_host *ha, struct srb * sp, int handle)
drivers/scsi/qla1280.c
2736
qla1280_64bit_start_scsi(struct scsi_qla_host *ha, struct srb * sp)
drivers/scsi/qla1280.c
2990
qla1280_32bit_start_scsi(struct scsi_qla_host *ha, struct srb * sp)
drivers/scsi/qla1280.c
3341
struct srb *sp = NULL;
drivers/scsi/qla1280.c
3598
struct srb *sp;
drivers/scsi/qla1280.c
3690
struct srb *sp;
drivers/scsi/qla1280.c
3754
struct srb *sp;
drivers/scsi/qla1280.c
3952
struct srb *sp;
drivers/scsi/qla1280.c
406
static int qla1280_abort_command(struct scsi_qla_host *, struct srb *, int);
drivers/scsi/qla1280.c
410
struct srb *);
drivers/scsi/qla1280.c
4113
.cmd_size = sizeof(struct srb),
drivers/scsi/qla1280.c
413
struct srb *);
drivers/scsi/qla1280.c
691
struct srb *sp = scsi_cmd_priv(cmd);
drivers/scsi/qla1280.c
738
_qla1280_wait_for_single_command(struct scsi_qla_host *ha, struct srb *sp,
drivers/scsi/qla1280.c
756
qla1280_wait_for_single_command(struct scsi_qla_host *ha, struct srb *sp)
drivers/scsi/qla1280.c
769
struct srb *sp;
drivers/scsi/qla1280.c
815
struct srb *sp;
drivers/scsi/qla1280.h
1028
struct srb *outstanding_cmds[MAX_OUTSTANDING_COMMANDS];
drivers/scsi/qla2xxx/qla_def.h
744
struct srb *cmd_sp;
drivers/scsi/qla2xxx/qla_def.h
775
void (*done)(struct srb *sp, int res);
drivers/scsi/qla2xxx/qla_def.h
777
void (*free)(struct srb *sp);
drivers/scsi/qla2xxx/qla_def.h
787
void (*async_done)(struct srb *sp, int res);
drivers/scsi/qla2xxx/qla_edif.c
3512
static void qla_parse_auth_els_ctl(struct srb *sp)
drivers/scsi/qla2xxx/qla_gbl.h
316
void (*done)(struct srb *, int));
drivers/scsi/qla2xxx/qla_gs.c
3331
struct srb *sp)
drivers/scsi/qla2xxx/qla_init.c
1539
struct srb *sp = ea->sp;
drivers/scsi/qla2xxx/qla_init.c
2372
struct srb *sp;
drivers/scsi/qla2xxx/qla_iocb.c
2573
qla2x00_async_done(struct srb *sp, int res)
drivers/scsi/qla2xxx/qla_iocb.c
2589
struct srb *sp = container_of(kref, struct srb, cmd_kref);
drivers/scsi/qla2xxx/qla_iocb.c
2623
void (*done)(struct srb *sp, int res))
drivers/scsi/qla2xxx/qla_iocb.c
3846
static int qla_get_iocbs_resource(struct srb *sp)
drivers/scsi/qla2xxx/qla_nvme.c
166
struct srb *sp = container_of(kref, struct srb, cmd_kref);
drivers/scsi/qla2xxx/qla_nvme.c
198
struct srb *sp = container_of(kref, struct srb, cmd_kref);
drivers/scsi/qla2xxx/qla_nvme.c
23
struct srb *sp;
drivers/scsi/qla2xxx/qla_nvme.c
243
struct srb *sp = container_of(kref, struct srb, cmd_kref);
drivers/scsi/qla2xxx/qla_nvme.h
149
void qla24xx_async_gffid_sp_done(struct srb *sp, int);
drivers/scsi/qla2xxx/qla_nvme.h
28
struct srb;
drivers/scsi/qla2xxx/qla_nvme.h
31
struct srb *sp;
drivers/scsi/qla2xxx/qla_os.c
5470
struct srb *sp = e->u.iosb.sp;
drivers/scsi/qla4xxx/ql4_def.h
223
struct srb *srb;
drivers/scsi/qla4xxx/ql4_def.h
729
struct srb *status_srb;
drivers/scsi/qla4xxx/ql4_glbl.h
14
int qla4xxx_send_command_to_isp(struct scsi_qla_host *ha, struct srb *srb);
drivers/scsi/qla4xxx/ql4_glbl.h
23
int qla4xxx_abort_task(struct scsi_qla_host *ha, struct srb *srb);
drivers/scsi/qla4xxx/ql4_glbl.h
72
struct srb *qla4xxx_del_from_active_array(struct scsi_qla_host *ha,
drivers/scsi/qla4xxx/ql4_iocb.c
147
static void qla4xxx_build_scsi_iocbs(struct srb *srb,
drivers/scsi/qla4xxx/ql4_iocb.c
158
cmd = srb->cmd;
drivers/scsi/qla4xxx/ql4_iocb.c
159
ha = srb->ha;
drivers/scsi/qla4xxx/ql4_iocb.c
272
int qla4xxx_send_command_to_isp(struct scsi_qla_host *ha, struct srb * srb)
drivers/scsi/qla4xxx/ql4_iocb.c
274
struct scsi_cmnd *cmd = srb->cmd;
drivers/scsi/qla4xxx/ql4_iocb.c
284
ddb_entry = srb->ddb;
drivers/scsi/qla4xxx/ql4_iocb.c
355
qla4xxx_build_scsi_iocbs(srb, cmd_entry, tot_dsds);
drivers/scsi/qla4xxx/ql4_iocb.c
358
srb->cmd->host_scribble = (unsigned char *)(unsigned long)index;
drivers/scsi/qla4xxx/ql4_iocb.c
361
srb->state = SRB_ACTIVE_STATE;
drivers/scsi/qla4xxx/ql4_iocb.c
362
srb->flags |= SRB_DMA_VALID;
drivers/scsi/qla4xxx/ql4_iocb.c
366
srb->iocb_cnt = req_cnt;
drivers/scsi/qla4xxx/ql4_isr.c
100
srb->req_sense_len -= sense_len;
drivers/scsi/qla4xxx/ql4_isr.c
103
if (srb->req_sense_len == 0) {
drivers/scsi/qla4xxx/ql4_isr.c
104
kref_put(&srb->srb_ref, qla4xxx_srb_compl);
drivers/scsi/qla4xxx/ql4_isr.c
119
struct srb *srb;
drivers/scsi/qla4xxx/ql4_isr.c
123
srb = qla4xxx_del_from_active_array(ha, le32_to_cpu(sts_entry->handle));
drivers/scsi/qla4xxx/ql4_isr.c
124
if (!srb) {
drivers/scsi/qla4xxx/ql4_isr.c
127
sts_entry->handle, srb);
drivers/scsi/qla4xxx/ql4_isr.c
135
cmd = srb->cmd;
drivers/scsi/qla4xxx/ql4_isr.c
140
srb, srb->state));
drivers/scsi/qla4xxx/ql4_isr.c
142
" already returned to OS (srb=%p)\n", srb);
drivers/scsi/qla4xxx/ql4_isr.c
146
ddb_entry = srb->ddb;
drivers/scsi/qla4xxx/ql4_isr.c
189
qla4xxx_copy_sense(ha, sts_entry, srb);
drivers/scsi/qla4xxx/ql4_isr.c
20
struct srb *srb)
drivers/scsi/qla4xxx/ql4_isr.c
22
struct scsi_cmnd *cmd = srb->cmd;
drivers/scsi/qla4xxx/ql4_isr.c
309
qla4xxx_copy_sense(ha, sts_entry, srb);
drivers/scsi/qla4xxx/ql4_isr.c
353
srb->cc_stat = sts_entry->completionStatus;
drivers/scsi/qla4xxx/ql4_isr.c
355
kref_put(&srb->srb_ref, qla4xxx_srb_compl);
drivers/scsi/qla4xxx/ql4_isr.c
38
srb->req_sense_ptr = cmd->sense_buffer;
drivers/scsi/qla4xxx/ql4_isr.c
39
srb->req_sense_len = sense_len;
drivers/scsi/qla4xxx/ql4_isr.c
475
struct srb *srb = NULL;
drivers/scsi/qla4xxx/ql4_isr.c
519
srb = qla4xxx_del_from_active_array(ha,
drivers/scsi/qla4xxx/ql4_isr.c
522
if (srb == NULL)
drivers/scsi/qla4xxx/ql4_isr.c
526
"srb %p\n", ha->host_no, __func__, srb));
drivers/scsi/qla4xxx/ql4_isr.c
530
srb->cmd->result = DID_BUS_BUSY << 16;
drivers/scsi/qla4xxx/ql4_isr.c
531
kref_put(&srb->srb_ref, qla4xxx_srb_compl);
drivers/scsi/qla4xxx/ql4_isr.c
55
srb->flags |= SRB_GOT_SENSE;
drivers/scsi/qla4xxx/ql4_isr.c
571
ha->host_no, __func__, srb, sts_entry->hdr.entryType,
drivers/scsi/qla4xxx/ql4_isr.c
58
srb->req_sense_ptr += sense_len;
drivers/scsi/qla4xxx/ql4_isr.c
59
srb->req_sense_len -= sense_len;
drivers/scsi/qla4xxx/ql4_isr.c
60
if (srb->req_sense_len != 0)
drivers/scsi/qla4xxx/ql4_isr.c
61
ha->status_srb = srb;
drivers/scsi/qla4xxx/ql4_isr.c
77
struct srb *srb = ha->status_srb;
drivers/scsi/qla4xxx/ql4_isr.c
81
if (srb == NULL)
drivers/scsi/qla4xxx/ql4_isr.c
84
cmd = srb->cmd;
drivers/scsi/qla4xxx/ql4_isr.c
88
__func__, srb, srb->state));
drivers/scsi/qla4xxx/ql4_isr.c
94
sense_len = min_t(uint16_t, srb->req_sense_len,
drivers/scsi/qla4xxx/ql4_isr.c
96
memcpy(srb->req_sense_ptr, sts_cont->ext_sense_data, sense_len);
drivers/scsi/qla4xxx/ql4_isr.c
97
DEBUG5(qla4xxx_dump_buffer(srb->req_sense_ptr, sense_len));
drivers/scsi/qla4xxx/ql4_isr.c
99
srb->req_sense_ptr += sense_len;
drivers/scsi/qla4xxx/ql4_mbx.c
1167
int qla4xxx_abort_task(struct scsi_qla_host *ha, struct srb *srb)
drivers/scsi/qla4xxx/ql4_mbx.c
1171
struct scsi_cmnd *cmd = srb->cmd;
drivers/scsi/qla4xxx/ql4_mbx.c
1192
mbox_cmd[1] = srb->ddb->fw_ddb_index;
drivers/scsi/qla4xxx/ql4_os.c
4054
static struct srb* qla4xxx_get_new_srb(struct scsi_qla_host *ha,
drivers/scsi/qla4xxx/ql4_os.c
4058
struct srb *srb;
drivers/scsi/qla4xxx/ql4_os.c
4060
srb = mempool_alloc(ha->srb_mempool, GFP_ATOMIC);
drivers/scsi/qla4xxx/ql4_os.c
4061
if (!srb)
drivers/scsi/qla4xxx/ql4_os.c
4062
return srb;
drivers/scsi/qla4xxx/ql4_os.c
4064
kref_init(&srb->srb_ref);
drivers/scsi/qla4xxx/ql4_os.c
4065
srb->ha = ha;
drivers/scsi/qla4xxx/ql4_os.c
4066
srb->ddb = ddb_entry;
drivers/scsi/qla4xxx/ql4_os.c
4067
srb->cmd = cmd;
drivers/scsi/qla4xxx/ql4_os.c
4068
srb->flags = 0;
drivers/scsi/qla4xxx/ql4_os.c
4069
qla4xxx_cmd_priv(cmd)->srb = srb;
drivers/scsi/qla4xxx/ql4_os.c
4071
return srb;
drivers/scsi/qla4xxx/ql4_os.c
4074
static void qla4xxx_srb_free_dma(struct scsi_qla_host *ha, struct srb *srb)
drivers/scsi/qla4xxx/ql4_os.c
4076
struct scsi_cmnd *cmd = srb->cmd;
drivers/scsi/qla4xxx/ql4_os.c
4078
if (srb->flags & SRB_DMA_VALID) {
drivers/scsi/qla4xxx/ql4_os.c
4080
srb->flags &= ~SRB_DMA_VALID;
drivers/scsi/qla4xxx/ql4_os.c
4082
qla4xxx_cmd_priv(cmd)->srb = NULL;
drivers/scsi/qla4xxx/ql4_os.c
4087
struct srb *srb = container_of(ref, struct srb, srb_ref);
drivers/scsi/qla4xxx/ql4_os.c
4088
struct scsi_cmnd *cmd = srb->cmd;
drivers/scsi/qla4xxx/ql4_os.c
4089
struct scsi_qla_host *ha = srb->ha;
drivers/scsi/qla4xxx/ql4_os.c
4091
qla4xxx_srb_free_dma(ha, srb);
drivers/scsi/qla4xxx/ql4_os.c
4093
mempool_free(srb, ha->srb_mempool);
drivers/scsi/qla4xxx/ql4_os.c
4117
struct srb *srb;
drivers/scsi/qla4xxx/ql4_os.c
4152
srb = qla4xxx_get_new_srb(ha, ddb_entry, cmd);
drivers/scsi/qla4xxx/ql4_os.c
4153
if (!srb)
drivers/scsi/qla4xxx/ql4_os.c
4156
rval = qla4xxx_send_command_to_isp(ha, srb);
drivers/scsi/qla4xxx/ql4_os.c
4163
qla4xxx_srb_free_dma(ha, srb);
drivers/scsi/qla4xxx/ql4_os.c
4164
mempool_free(srb, ha->srb_mempool);
drivers/scsi/qla4xxx/ql4_os.c
4656
if (cmd != NULL && qla4xxx_cmd_priv(cmd)->srb)
drivers/scsi/qla4xxx/ql4_os.c
4810
struct srb *srb;
drivers/scsi/qla4xxx/ql4_os.c
4816
srb = qla4xxx_del_from_active_array(ha, i);
drivers/scsi/qla4xxx/ql4_os.c
4817
if (srb != NULL) {
drivers/scsi/qla4xxx/ql4_os.c
4818
srb->cmd->result = res;
drivers/scsi/qla4xxx/ql4_os.c
4819
kref_put(&srb->srb_ref, qla4xxx_srb_compl);
drivers/scsi/qla4xxx/ql4_os.c
9089
struct srb *qla4xxx_del_from_active_array(struct scsi_qla_host *ha,
drivers/scsi/qla4xxx/ql4_os.c
9092
struct srb *srb = NULL;
drivers/scsi/qla4xxx/ql4_os.c
9097
return srb;
drivers/scsi/qla4xxx/ql4_os.c
9099
srb = qla4xxx_cmd_priv(cmd)->srb;
drivers/scsi/qla4xxx/ql4_os.c
9100
if (!srb)
drivers/scsi/qla4xxx/ql4_os.c
9101
return srb;
drivers/scsi/qla4xxx/ql4_os.c
9104
if (srb->flags & SRB_DMA_VALID) {
drivers/scsi/qla4xxx/ql4_os.c
9105
ha->iocb_cnt -= srb->iocb_cnt;
drivers/scsi/qla4xxx/ql4_os.c
9106
if (srb->cmd)
drivers/scsi/qla4xxx/ql4_os.c
9107
srb->cmd->host_scribble =
drivers/scsi/qla4xxx/ql4_os.c
9110
return srb;
drivers/scsi/qla4xxx/ql4_os.c
9125
struct srb *rp;
drivers/scsi/qla4xxx/ql4_os.c
9141
rp = qla4xxx_cmd_priv(cmd)->srb;
drivers/scsi/qla4xxx/ql4_os.c
9220
struct srb *srb = NULL;
drivers/scsi/qla4xxx/ql4_os.c
9235
srb = qla4xxx_cmd_priv(cmd)->srb;
drivers/scsi/qla4xxx/ql4_os.c
9236
if (!srb) {
drivers/scsi/qla4xxx/ql4_os.c
9242
kref_get(&srb->srb_ref);
drivers/scsi/qla4xxx/ql4_os.c
9245
if (qla4xxx_abort_task(ha, srb) != QLA_SUCCESS) {
drivers/scsi/qla4xxx/ql4_os.c
9255
kref_put(&srb->srb_ref, qla4xxx_srb_compl);
drivers/scsi/qla4xxx/ql4_os.c
9908
srb_cachep = kmem_cache_create("qla4xxx_srbs", sizeof(struct srb), 0,
drivers/usb/image/microtek.c
212
static inline void mts_show_command(struct scsi_cmnd *srb)
drivers/usb/image/microtek.c
216
switch (srb->cmnd[0]) {
drivers/usb/image/microtek.c
286
MTS_DEBUG( "Command %s (%d bytes)\n", what, srb->cmd_len);
drivers/usb/image/microtek.c
289
MTS_DEBUG( " %10ph\n", srb->cmnd);
drivers/usb/image/microtek.c
316
static int mts_scsi_abort(struct scsi_cmnd *srb)
drivers/usb/image/microtek.c
318
struct mts_desc* desc = (struct mts_desc*)(srb->device->host->hostdata[0]);
drivers/usb/image/microtek.c
325
static int mts_scsi_host_reset(struct scsi_cmnd *srb)
drivers/usb/image/microtek.c
327
struct mts_desc* desc = (struct mts_desc*)(srb->device->host->hostdata[0]);
drivers/usb/image/microtek.c
341
struct scsi_cmnd *srb);
drivers/usb/image/microtek.c
373
set_host_byte(context->srb, DID_ERROR);
drivers/usb/image/microtek.c
385
context->final_callback(context->srb);
drivers/usb/image/microtek.c
392
context->srb->result &= MTS_SCSI_ERR_MASK;
drivers/usb/image/microtek.c
393
context->srb->result |= (unsigned)(*context->scsi_status)<<1;
drivers/usb/image/microtek.c
419
scsi_set_resid(context->srb, context->data_length -
drivers/usb/image/microtek.c
422
set_host_byte(context->srb, (status == -ENOENT ? DID_ABORT : DID_ERROR));
drivers/usb/image/microtek.c
438
set_host_byte(context->srb, DID_ABORT);
drivers/usb/image/microtek.c
441
set_host_byte(context->srb, DID_ERROR);
drivers/usb/image/microtek.c
448
if (context->srb->cmnd[0] == REQUEST_SENSE) {
drivers/usb/image/microtek.c
451
context->srb->sense_buffer,
drivers/usb/image/microtek.c
459
scsi_sg_count(context->srb) > 1 ?
drivers/usb/image/microtek.c
473
scsi_sg_count(context->srb));
drivers/usb/image/microtek.c
476
set_host_byte(context->srb, (status == -ENOENT ? DID_ABORT : DID_ERROR));
drivers/usb/image/microtek.c
502
mts_build_transfer_context(struct scsi_cmnd *srb, struct mts_desc* desc)
drivers/usb/image/microtek.c
507
desc->context.srb = srb;
drivers/usb/image/microtek.c
509
if (!scsi_bufflen(srb)) {
drivers/usb/image/microtek.c
514
desc->context.curr_sg = scsi_sglist(srb);
drivers/usb/image/microtek.c
524
if ( !memcmp( srb->cmnd, mts_read_image_sig, mts_read_image_sig_len )
drivers/usb/image/microtek.c
528
} else if ( MTS_DIRECTION_IS_IN(srb->cmnd[0]) ) {
drivers/usb/image/microtek.c
540
static enum scsi_qc_status mts_scsi_queuecommand_lck(struct scsi_cmnd *srb)
drivers/usb/image/microtek.c
543
struct mts_desc* desc = (struct mts_desc*)(srb->device->host->hostdata[0]);
drivers/usb/image/microtek.c
546
mts_show_command(srb);
drivers/usb/image/microtek.c
549
if ( srb->device->lun || srb->device->id || srb->device->channel ) {
drivers/usb/image/microtek.c
551
MTS_DEBUG("Command to LUN=%d ID=%d CHANNEL=%d from SCSI layer\n",(int)srb->device->lun,(int)srb->device->id, (int)srb->device->channel );
drivers/usb/image/microtek.c
555
set_host_byte(srb, DID_BAD_TARGET);
drivers/usb/image/microtek.c
558
callback(srb);
drivers/usb/image/microtek.c
567
srb->cmnd,
drivers/usb/image/microtek.c
568
srb->cmd_len,
drivers/usb/image/microtek.c
574
mts_build_transfer_context( srb, desc );
drivers/usb/image/microtek.c
582
set_host_byte(srb, DID_ERROR);
drivers/usb/image/microtek.c
585
callback(srb);
drivers/usb/image/microtek.h
19
struct scsi_cmnd *srb;
drivers/usb/storage/alauda.c
1068
usb_stor_access_xfer_buf(buffer, len, us->srb,
drivers/usb/storage/alauda.c
1130
static int alauda_transport(struct scsi_cmnd *srb, struct us_data *us)
drivers/usb/storage/alauda.c
1139
if (srb->cmnd[0] == INQUIRY) {
drivers/usb/storage/alauda.c
1146
if (srb->cmnd[0] == TEST_UNIT_READY) {
drivers/usb/storage/alauda.c
1151
if (srb->cmnd[0] == READ_CAPACITY) {
drivers/usb/storage/alauda.c
116
#define MEDIA_PORT(us) us->srb->device->lun
drivers/usb/storage/alauda.c
1169
usb_stor_set_xfer_buf(ptr, 8, srb);
drivers/usb/storage/alauda.c
1173
if (srb->cmnd[0] == READ_10) {
drivers/usb/storage/alauda.c
1180
page = short_pack(srb->cmnd[3], srb->cmnd[2]);
drivers/usb/storage/alauda.c
1182
page |= short_pack(srb->cmnd[5], srb->cmnd[4]);
drivers/usb/storage/alauda.c
1183
pages = short_pack(srb->cmnd[8], srb->cmnd[7]);
drivers/usb/storage/alauda.c
1190
if (srb->cmnd[0] == WRITE_10) {
drivers/usb/storage/alauda.c
1197
page = short_pack(srb->cmnd[3], srb->cmnd[2]);
drivers/usb/storage/alauda.c
1199
page |= short_pack(srb->cmnd[5], srb->cmnd[4]);
drivers/usb/storage/alauda.c
1200
pages = short_pack(srb->cmnd[8], srb->cmnd[7]);
drivers/usb/storage/alauda.c
1207
if (srb->cmnd[0] == REQUEST_SENSE) {
drivers/usb/storage/alauda.c
1216
usb_stor_set_xfer_buf(ptr, 18, srb);
drivers/usb/storage/alauda.c
1221
if (srb->cmnd[0] == ALLOW_MEDIUM_REMOVAL) {
drivers/usb/storage/alauda.c
1230
srb->cmnd[0], srb->cmnd[0]);
drivers/usb/storage/alauda.c
996
usb_stor_access_xfer_buf(buffer, len, us->srb,
drivers/usb/storage/cypress_atacb.c
101
srb->cmnd[0] = 0x24; /*
drivers/usb/storage/cypress_atacb.c
106
srb->cmnd[1] = 0x24; /* bVSCBSubCommand : 0x24 for ATACB */
drivers/usb/storage/cypress_atacb.c
108
srb->cmnd[3] = 0xff - 1; /*
drivers/usb/storage/cypress_atacb.c
112
srb->cmnd[4] = 1; /* TransferBlockCount : 512 */
drivers/usb/storage/cypress_atacb.c
115
srb->cmnd[ 6] = save_cmnd[ 4]; /* features */
drivers/usb/storage/cypress_atacb.c
116
srb->cmnd[ 7] = save_cmnd[ 6]; /* sector count */
drivers/usb/storage/cypress_atacb.c
117
srb->cmnd[ 8] = save_cmnd[ 8]; /* lba low */
drivers/usb/storage/cypress_atacb.c
118
srb->cmnd[ 9] = save_cmnd[10]; /* lba med */
drivers/usb/storage/cypress_atacb.c
119
srb->cmnd[10] = save_cmnd[12]; /* lba high */
drivers/usb/storage/cypress_atacb.c
120
srb->cmnd[11] = save_cmnd[13]; /* device */
drivers/usb/storage/cypress_atacb.c
121
srb->cmnd[12] = save_cmnd[14]; /* command */
drivers/usb/storage/cypress_atacb.c
130
srb->cmnd[ 6] = save_cmnd[3]; /* features */
drivers/usb/storage/cypress_atacb.c
131
srb->cmnd[ 7] = save_cmnd[4]; /* sector count */
drivers/usb/storage/cypress_atacb.c
132
srb->cmnd[ 8] = save_cmnd[5]; /* lba low */
drivers/usb/storage/cypress_atacb.c
133
srb->cmnd[ 9] = save_cmnd[6]; /* lba med */
drivers/usb/storage/cypress_atacb.c
134
srb->cmnd[10] = save_cmnd[7]; /* lba high */
drivers/usb/storage/cypress_atacb.c
135
srb->cmnd[11] = save_cmnd[8]; /* device */
drivers/usb/storage/cypress_atacb.c
136
srb->cmnd[12] = save_cmnd[9]; /* command */
drivers/usb/storage/cypress_atacb.c
140
if ((srb->cmnd[12] == ATA_CMD_SET_FEATURES)
drivers/usb/storage/cypress_atacb.c
141
&& (srb->cmnd[6] == SETFEATURES_XFER))
drivers/usb/storage/cypress_atacb.c
144
if (srb->cmnd[12] == ATA_CMD_ID_ATA || srb->cmnd[12] == ATA_CMD_ID_ATAPI)
drivers/usb/storage/cypress_atacb.c
145
srb->cmnd[2] |= (1<<7); /* set IdentifyPacketDevice for these cmds */
drivers/usb/storage/cypress_atacb.c
148
usb_stor_transparent_scsi_command(srb, us);
drivers/usb/storage/cypress_atacb.c
151
if (srb->result == SAM_STAT_CHECK_CONDITION &&
drivers/usb/storage/cypress_atacb.c
152
memcmp(srb->sense_buffer, usb_stor_sense_invalidCDB,
drivers/usb/storage/cypress_atacb.c
162
if ((srb->result != (DID_ERROR << 16) &&
drivers/usb/storage/cypress_atacb.c
163
srb->result != (DID_ABORT << 16)) &&
drivers/usb/storage/cypress_atacb.c
167
unsigned char *sb = srb->sense_buffer;
drivers/usb/storage/cypress_atacb.c
172
scsi_eh_prep_cmnd(srb, &ses, NULL, 0, sizeof(regs));
drivers/usb/storage/cypress_atacb.c
179
srb->cmd_len = 16;
drivers/usb/storage/cypress_atacb.c
180
srb->cmnd[2] = 1;
drivers/usb/storage/cypress_atacb.c
182
usb_stor_transparent_scsi_command(srb, us);
drivers/usb/storage/cypress_atacb.c
183
memcpy(regs, srb->sense_buffer, sizeof(regs));
drivers/usb/storage/cypress_atacb.c
184
tmp_result = srb->result;
drivers/usb/storage/cypress_atacb.c
185
scsi_eh_restore_cmnd(srb, &ses);
drivers/usb/storage/cypress_atacb.c
223
srb->result = SAM_STAT_CHECK_CONDITION;
drivers/usb/storage/cypress_atacb.c
227
srb->result = SAM_STAT_CHECK_CONDITION;
drivers/usb/storage/cypress_atacb.c
229
memcpy(srb->sense_buffer,
drivers/usb/storage/cypress_atacb.c
233
memcpy(srb->cmnd, save_cmnd, sizeof(save_cmnd));
drivers/usb/storage/cypress_atacb.c
234
if (srb->cmnd[0] == ATA_12)
drivers/usb/storage/cypress_atacb.c
235
srb->cmd_len = 12;
drivers/usb/storage/cypress_atacb.c
73
static void cypress_atacb_passthrough(struct scsi_cmnd *srb, struct us_data *us)
drivers/usb/storage/cypress_atacb.c
77
if (likely(srb->cmnd[0] != ATA_16 && srb->cmnd[0] != ATA_12)) {
drivers/usb/storage/cypress_atacb.c
78
usb_stor_transparent_scsi_command(srb, us);
drivers/usb/storage/cypress_atacb.c
82
memcpy(save_cmnd, srb->cmnd, sizeof(save_cmnd));
drivers/usb/storage/cypress_atacb.c
83
memset(srb->cmnd, 0, MAX_COMMAND_SIZE);
drivers/usb/storage/cypress_atacb.c
99
srb->cmd_len = 16;
drivers/usb/storage/datafab.c
202
usb_stor_access_xfer_buf(buffer, len, us->srb,
drivers/usb/storage/datafab.c
265
usb_stor_access_xfer_buf(buffer, len, us->srb,
drivers/usb/storage/datafab.c
437
struct scsi_cmnd * srb,
drivers/usb/storage/datafab.c
462
pc = srb->cmnd[2] >> 6;
drivers/usb/storage/datafab.c
463
page_code = srb->cmnd[2] & 0x3F;
drivers/usb/storage/datafab.c
533
usb_stor_set_xfer_buf(ptr, i, srb);
drivers/usb/storage/datafab.c
547
static int datafab_transport(struct scsi_cmnd *srb, struct us_data *us)
drivers/usb/storage/datafab.c
568
if (srb->cmnd[0] == INQUIRY) {
drivers/usb/storage/datafab.c
575
if (srb->cmnd[0] == READ_CAPACITY) {
drivers/usb/storage/datafab.c
588
usb_stor_set_xfer_buf(ptr, 8, srb);
drivers/usb/storage/datafab.c
593
if (srb->cmnd[0] == MODE_SELECT_10) {
drivers/usb/storage/datafab.c
600
if (srb->cmnd[0] == READ_10) {
drivers/usb/storage/datafab.c
601
block = ((u32)(srb->cmnd[2]) << 24) | ((u32)(srb->cmnd[3]) << 16) |
drivers/usb/storage/datafab.c
602
((u32)(srb->cmnd[4]) << 8) | ((u32)(srb->cmnd[5]));
drivers/usb/storage/datafab.c
604
blocks = ((u32)(srb->cmnd[7]) << 8) | ((u32)(srb->cmnd[8]));
drivers/usb/storage/datafab.c
611
if (srb->cmnd[0] == READ_12) {
drivers/usb/storage/datafab.c
614
block = ((u32)(srb->cmnd[2]) << 24) | ((u32)(srb->cmnd[3]) << 16) |
drivers/usb/storage/datafab.c
615
((u32)(srb->cmnd[4]) << 8) | ((u32)(srb->cmnd[5]));
drivers/usb/storage/datafab.c
617
blocks = ((u32)(srb->cmnd[6]) << 24) | ((u32)(srb->cmnd[7]) << 16) |
drivers/usb/storage/datafab.c
618
((u32)(srb->cmnd[8]) << 8) | ((u32)(srb->cmnd[9]));
drivers/usb/storage/datafab.c
625
if (srb->cmnd[0] == WRITE_10) {
drivers/usb/storage/datafab.c
626
block = ((u32)(srb->cmnd[2]) << 24) | ((u32)(srb->cmnd[3]) << 16) |
drivers/usb/storage/datafab.c
627
((u32)(srb->cmnd[4]) << 8) | ((u32)(srb->cmnd[5]));
drivers/usb/storage/datafab.c
629
blocks = ((u32)(srb->cmnd[7]) << 8) | ((u32)(srb->cmnd[8]));
drivers/usb/storage/datafab.c
636
if (srb->cmnd[0] == WRITE_12) {
drivers/usb/storage/datafab.c
639
block = ((u32)(srb->cmnd[2]) << 24) | ((u32)(srb->cmnd[3]) << 16) |
drivers/usb/storage/datafab.c
640
((u32)(srb->cmnd[4]) << 8) | ((u32)(srb->cmnd[5]));
drivers/usb/storage/datafab.c
642
blocks = ((u32)(srb->cmnd[6]) << 24) | ((u32)(srb->cmnd[7]) << 16) |
drivers/usb/storage/datafab.c
643
((u32)(srb->cmnd[8]) << 8) | ((u32)(srb->cmnd[9]));
drivers/usb/storage/datafab.c
650
if (srb->cmnd[0] == TEST_UNIT_READY) {
drivers/usb/storage/datafab.c
655
if (srb->cmnd[0] == REQUEST_SENSE) {
drivers/usb/storage/datafab.c
668
usb_stor_set_xfer_buf(ptr, 18, srb);
drivers/usb/storage/datafab.c
673
if (srb->cmnd[0] == MODE_SENSE) {
drivers/usb/storage/datafab.c
675
return datafab_handle_mode_sense(us, srb, 1);
drivers/usb/storage/datafab.c
678
if (srb->cmnd[0] == MODE_SENSE_10) {
drivers/usb/storage/datafab.c
680
return datafab_handle_mode_sense(us, srb, 0);
drivers/usb/storage/datafab.c
683
if (srb->cmnd[0] == ALLOW_MEDIUM_REMOVAL) {
drivers/usb/storage/datafab.c
691
if (srb->cmnd[0] == START_STOP) {
drivers/usb/storage/datafab.c
704
srb->result = SUCCESS;
drivers/usb/storage/datafab.c
707
srb->result = SAM_STAT_CHECK_CONDITION;
drivers/usb/storage/datafab.c
713
srb->cmnd[0], srb->cmnd[0]);
drivers/usb/storage/debug.c
138
usb_stor_dbg(us, "Command %s (%d bytes)\n", what, srb->cmd_len);
drivers/usb/storage/debug.c
139
usb_stor_dbg(us, "bytes: %*ph\n", min_t(int, srb->cmd_len, 16),
drivers/usb/storage/debug.c
140
(const unsigned char *)srb->cmnd);
drivers/usb/storage/debug.c
41
void usb_stor_show_command(const struct us_data *us, struct scsi_cmnd *srb)
drivers/usb/storage/debug.c
45
switch (srb->cmnd[0]) {
drivers/usb/storage/debug.h
33
void usb_stor_show_command(const struct us_data *us, struct scsi_cmnd *srb);
drivers/usb/storage/ene_ub6250.c
1450
static int ms_scsi_test_unit_ready(struct us_data *us, struct scsi_cmnd *srb)
drivers/usb/storage/ene_ub6250.c
1465
static int ms_scsi_mode_sense(struct us_data *us, struct scsi_cmnd *srb)
drivers/usb/storage/ene_ub6250.c
1476
usb_stor_set_xfer_buf(mediaWP, 12, srb);
drivers/usb/storage/ene_ub6250.c
1478
usb_stor_set_xfer_buf(mediaNoWP, 12, srb);
drivers/usb/storage/ene_ub6250.c
1483
static int ms_scsi_read_capacity(struct us_data *us, struct scsi_cmnd *srb)
drivers/usb/storage/ene_ub6250.c
1513
usb_stor_access_xfer_buf(buf, 8, srb, &sg, &offset, TO_XFER_BUF);
drivers/usb/storage/ene_ub6250.c
1634
static int ms_scsi_read(struct us_data *us, struct scsi_cmnd *srb)
drivers/usb/storage/ene_ub6250.c
1637
unsigned char *cdb = srb->cmnd;
drivers/usb/storage/ene_ub6250.c
1668
result = ene_send_scsi_cmd(us, FDIR_READ, scsi_sglist(srb), 1);
drivers/usb/storage/ene_ub6250.c
1726
usb_stor_set_xfer_buf(buf, blenByte, srb);
drivers/usb/storage/ene_ub6250.c
1733
static int ms_scsi_write(struct us_data *us, struct scsi_cmnd *srb)
drivers/usb/storage/ene_ub6250.c
1737
unsigned char *cdb = srb->cmnd;
drivers/usb/storage/ene_ub6250.c
1769
result = ene_send_scsi_cmd(us, FDIR_WRITE, scsi_sglist(srb), 1);
drivers/usb/storage/ene_ub6250.c
1780
usb_stor_set_xfer_buf(buf, blenByte, srb);
drivers/usb/storage/ene_ub6250.c
1937
if (us->srb != NULL)
drivers/usb/storage/ene_ub6250.c
1938
scsi_set_resid(us->srb, 0);
drivers/usb/storage/ene_ub6250.c
2219
static int sd_scsi_irp(struct us_data *us, struct scsi_cmnd *srb)
drivers/usb/storage/ene_ub6250.c
2224
switch (srb->cmnd[0]) {
drivers/usb/storage/ene_ub6250.c
2226
result = sd_scsi_test_unit_ready(us, srb);
drivers/usb/storage/ene_ub6250.c
2229
result = do_scsi_request_sense(us, srb);
drivers/usb/storage/ene_ub6250.c
2232
result = do_scsi_inquiry(us, srb);
drivers/usb/storage/ene_ub6250.c
2235
result = sd_scsi_mode_sense(us, srb);
drivers/usb/storage/ene_ub6250.c
2243
result = sd_scsi_read_capacity(us, srb);
drivers/usb/storage/ene_ub6250.c
2246
result = sd_scsi_read(us, srb);
drivers/usb/storage/ene_ub6250.c
2249
result = sd_scsi_write(us, srb);
drivers/usb/storage/ene_ub6250.c
2264
static int ms_scsi_irp(struct us_data *us, struct scsi_cmnd *srb)
drivers/usb/storage/ene_ub6250.c
2269
switch (srb->cmnd[0]) {
drivers/usb/storage/ene_ub6250.c
2271
result = ms_scsi_test_unit_ready(us, srb);
drivers/usb/storage/ene_ub6250.c
2274
result = do_scsi_request_sense(us, srb);
drivers/usb/storage/ene_ub6250.c
2277
result = do_scsi_inquiry(us, srb);
drivers/usb/storage/ene_ub6250.c
2280
result = ms_scsi_mode_sense(us, srb);
drivers/usb/storage/ene_ub6250.c
2283
result = ms_scsi_read_capacity(us, srb);
drivers/usb/storage/ene_ub6250.c
2286
result = ms_scsi_read(us, srb);
drivers/usb/storage/ene_ub6250.c
2289
result = ms_scsi_write(us, srb);
drivers/usb/storage/ene_ub6250.c
2301
static int ene_transport(struct scsi_cmnd *srb, struct us_data *us)
drivers/usb/storage/ene_ub6250.c
2307
scsi_set_resid(srb, 0);
drivers/usb/storage/ene_ub6250.c
2314
result = sd_scsi_irp(us, srb);
drivers/usb/storage/ene_ub6250.c
2317
result = ms_scsi_irp(us, srb);
drivers/usb/storage/ene_ub6250.c
519
result = usb_stor_bulk_srb(us, pipe, us->srb);
drivers/usb/storage/ene_ub6250.c
559
if (us->srb != NULL)
drivers/usb/storage/ene_ub6250.c
560
scsi_set_resid(us->srb, max(scsi_get_resid(us->srb),
drivers/usb/storage/ene_ub6250.c
570
static int do_scsi_request_sense(struct us_data *us, struct scsi_cmnd *srb)
drivers/usb/storage/ene_ub6250.c
582
usb_stor_set_xfer_buf(buf, sizeof(buf), srb);
drivers/usb/storage/ene_ub6250.c
586
static int do_scsi_inquiry(struct us_data *us, struct scsi_cmnd *srb)
drivers/usb/storage/ene_ub6250.c
594
usb_stor_set_xfer_buf(data_ptr, 36, srb);
drivers/usb/storage/ene_ub6250.c
598
static int sd_scsi_test_unit_ready(struct us_data *us, struct scsi_cmnd *srb)
drivers/usb/storage/ene_ub6250.c
612
static int sd_scsi_mode_sense(struct us_data *us, struct scsi_cmnd *srb)
drivers/usb/storage/ene_ub6250.c
623
usb_stor_set_xfer_buf(mediaWP, 12, srb);
drivers/usb/storage/ene_ub6250.c
625
usb_stor_set_xfer_buf(mediaNoWP, 12, srb);
drivers/usb/storage/ene_ub6250.c
631
static int sd_scsi_read_capacity(struct us_data *us, struct scsi_cmnd *srb)
drivers/usb/storage/ene_ub6250.c
666
usb_stor_access_xfer_buf(buf, 8, srb, &sg, &offset, TO_XFER_BUF);
drivers/usb/storage/ene_ub6250.c
671
static int sd_scsi_read(struct us_data *us, struct scsi_cmnd *srb)
drivers/usb/storage/ene_ub6250.c
674
unsigned char *cdb = srb->cmnd;
drivers/usb/storage/ene_ub6250.c
707
result = ene_send_scsi_cmd(us, FDIR_READ, scsi_sglist(srb), 1);
drivers/usb/storage/ene_ub6250.c
711
static int sd_scsi_write(struct us_data *us, struct scsi_cmnd *srb)
drivers/usb/storage/ene_ub6250.c
714
unsigned char *cdb = srb->cmnd;
drivers/usb/storage/ene_ub6250.c
747
result = ene_send_scsi_cmd(us, FDIR_WRITE, scsi_sglist(srb), 1);
drivers/usb/storage/freecom.c
152
freecom_readdata (struct scsi_cmnd *srb, struct us_data *us,
drivers/usb/storage/freecom.c
176
result = usb_stor_bulk_srb(us, ipipe, srb);
drivers/usb/storage/freecom.c
185
freecom_writedata (struct scsi_cmnd *srb, struct us_data *us,
drivers/usb/storage/freecom.c
209
result = usb_stor_bulk_srb(us, opipe, srb);
drivers/usb/storage/freecom.c
221
static int freecom_transport(struct scsi_cmnd *srb, struct us_data *us)
drivers/usb/storage/freecom.c
242
memcpy (fcb->Atapi, srb->cmnd, 12);
drivers/usb/storage/freecom.c
245
US_DEBUG(pdump(us, srb->cmnd, 12));
drivers/usb/storage/freecom.c
331
usb_stor_dbg(us, "SCSI requested %d\n", scsi_bufflen(srb));
drivers/usb/storage/freecom.c
334
switch (srb->cmnd[0]) {
drivers/usb/storage/freecom.c
342
length = scsi_bufflen(srb);
drivers/usb/storage/freecom.c
346
if (length > scsi_bufflen(srb)) {
drivers/usb/storage/freecom.c
347
length = scsi_bufflen(srb);
drivers/usb/storage/freecom.c
357
switch (us->srb->sc_data_direction) {
drivers/usb/storage/freecom.c
370
result = freecom_readdata (srb, us, ipipe, opipe, length);
drivers/usb/storage/freecom.c
401
result = freecom_writedata (srb, us, ipipe, opipe, length);
drivers/usb/storage/freecom.c
431
us->srb->sc_data_direction);
drivers/usb/storage/isd200.c
1227
static int isd200_scsi_to_ata(struct scsi_cmnd *srb, struct us_data *us,
drivers/usb/storage/isd200.c
1242
switch (srb->cmnd[0]) {
drivers/usb/storage/isd200.c
1248
sizeof(info->InquiryData), srb);
drivers/usb/storage/isd200.c
1249
srb->result = SAM_STAT_GOOD;
drivers/usb/storage/isd200.c
1257
usb_stor_set_xfer_buf(senseData, sizeof(senseData), srb);
drivers/usb/storage/isd200.c
1266
isd200_srb_set_bufflen(srb, 0);
drivers/usb/storage/isd200.c
1269
srb->result = SAM_STAT_GOOD;
drivers/usb/storage/isd200.c
1284
isd200_srb_set_bufflen(srb, 0);
drivers/usb/storage/isd200.c
1287
srb->result = SAM_STAT_GOOD;
drivers/usb/storage/isd200.c
1309
sizeof(readCapacityData), srb);
drivers/usb/storage/isd200.c
1310
srb->result = SAM_STAT_GOOD;
drivers/usb/storage/isd200.c
1318
lba = be32_to_cpu(*(__be32 *)&srb->cmnd[2]);
drivers/usb/storage/isd200.c
1319
blockCount = (unsigned long)srb->cmnd[7]<<8 | (unsigned long)srb->cmnd[8];
drivers/usb/storage/isd200.c
1350
lba = be32_to_cpu(*(__be32 *)&srb->cmnd[2]);
drivers/usb/storage/isd200.c
1351
blockCount = (unsigned long)srb->cmnd[7]<<8 | (unsigned long)srb->cmnd[8];
drivers/usb/storage/isd200.c
1384
srb->cmnd[4]);
drivers/usb/storage/isd200.c
1390
ataCdb->write.CommandByte = (srb->cmnd[4] & 0x1) ?
drivers/usb/storage/isd200.c
1392
isd200_srb_set_bufflen(srb, 0);
drivers/usb/storage/isd200.c
1395
srb->result = SAM_STAT_GOOD;
drivers/usb/storage/isd200.c
1402
usb_stor_dbg(us, " srb->cmnd[4] = 0x%X\n", srb->cmnd[4]);
drivers/usb/storage/isd200.c
1404
if ((srb->cmnd[4] & 0x3) == 0x2) {
drivers/usb/storage/isd200.c
1411
} else if ((srb->cmnd[4] & 0x3) == 0x1) {
drivers/usb/storage/isd200.c
1418
isd200_srb_set_bufflen(srb, 0);
drivers/usb/storage/isd200.c
1421
srb->result = SAM_STAT_GOOD;
drivers/usb/storage/isd200.c
1428
srb->cmnd[0]);
drivers/usb/storage/isd200.c
1429
srb->result = DID_ERROR << 16;
drivers/usb/storage/isd200.c
1450
kfree(info->srb.sense_buffer);
drivers/usb/storage/isd200.c
1472
info->srb.sense_buffer = kmalloc(SCSI_SENSE_BUFFERSIZE, GFP_KERNEL);
drivers/usb/storage/isd200.c
1474
if (!info->id || !info->RegsBuf || !info->srb.sense_buffer) {
drivers/usb/storage/isd200.c
1526
static void isd200_ata_command(struct scsi_cmnd *srb, struct us_data *us)
drivers/usb/storage/isd200.c
1535
srb->result = DID_ERROR << 16;
drivers/usb/storage/isd200.c
1539
scsi_set_resid(srb, 0);
drivers/usb/storage/isd200.c
1541
orig_bufflen = scsi_bufflen(srb);
drivers/usb/storage/isd200.c
1542
sendToTransport = isd200_scsi_to_ata(srb, us, &ataCdb);
drivers/usb/storage/isd200.c
1546
isd200_invoke_transport(us, srb, &ataCdb);
drivers/usb/storage/isd200.c
1548
isd200_srb_set_bufflen(srb, orig_bufflen);
drivers/usb/storage/isd200.c
330
struct scsi_cmnd srb;
drivers/usb/storage/isd200.c
399
static void isd200_build_sense(struct us_data *us, struct scsi_cmnd *srb)
drivers/usb/storage/isd200.c
402
struct sense_data *buf = (struct sense_data *) &srb->sense_buffer[0];
drivers/usb/storage/isd200.c
452
struct scsi_cmnd *srb = &info->srb;
drivers/usb/storage/isd200.c
457
srb->sc_data_direction = dir;
drivers/usb/storage/isd200.c
458
srb->sdb.table.sgl = buff ? &info->sg : NULL;
drivers/usb/storage/isd200.c
459
srb->sdb.length = bufflen;
drivers/usb/storage/isd200.c
460
srb->sdb.table.nents = buff ? 1 : 0;
drivers/usb/storage/isd200.c
463
static void isd200_srb_set_bufflen(struct scsi_cmnd *srb, unsigned bufflen)
drivers/usb/storage/isd200.c
465
srb->sdb.length = bufflen;
drivers/usb/storage/isd200.c
484
struct scsi_cmnd *srb = &info->srb;
drivers/usb/storage/isd200.c
488
memcpy(srb->cmnd, info->cmnd, MAX_COMMAND_SIZE);
drivers/usb/storage/isd200.c
489
srb->device = &srb_dev;
drivers/usb/storage/isd200.c
555
memcpy(srb->cmnd, &ata, sizeof(ata.generic));
drivers/usb/storage/isd200.c
556
srb->cmd_len = sizeof(ata.generic);
drivers/usb/storage/isd200.c
557
status = usb_stor_Bulk_transport(srb, us);
drivers/usb/storage/isd200.c
608
struct scsi_cmnd *srb,
drivers/usb/storage/isd200.c
616
memcpy(srb->cmnd, ataCdb, sizeof(ataCdb->generic));
drivers/usb/storage/isd200.c
617
srb->cmd_len = sizeof(ataCdb->generic);
drivers/usb/storage/isd200.c
618
transferStatus = usb_stor_Bulk_transport(srb, us);
drivers/usb/storage/isd200.c
633
srb->result = SAM_STAT_GOOD;
drivers/usb/storage/isd200.c
638
srb->result = SAM_STAT_CHECK_CONDITION;
drivers/usb/storage/isd200.c
648
srb->result = DID_ERROR << 16;
drivers/usb/storage/isd200.c
654
srb->result = DID_ERROR << 16;
drivers/usb/storage/isd200.c
659
if ((scsi_get_resid(srb) > 0) &&
drivers/usb/storage/isd200.c
660
!((srb->cmnd[0] == REQUEST_SENSE) ||
drivers/usb/storage/isd200.c
661
(srb->cmnd[0] == INQUIRY) ||
drivers/usb/storage/isd200.c
662
(srb->cmnd[0] == MODE_SENSE) ||
drivers/usb/storage/isd200.c
663
(srb->cmnd[0] == LOG_SENSE) ||
drivers/usb/storage/isd200.c
664
(srb->cmnd[0] == MODE_SENSE_10))) {
drivers/usb/storage/isd200.c
676
isd200_build_sense(us, srb);
drivers/usb/storage/isd200.c
677
srb->result = SAM_STAT_CHECK_CONDITION;
drivers/usb/storage/isd200.c
680
if ((srb->sense_buffer[2] & 0xf) == 0x0)
drivers/usb/storage/isd200.c
681
srb->result = SAM_STAT_GOOD;
drivers/usb/storage/isd200.c
683
srb->result = DID_ERROR << 16;
drivers/usb/storage/isd200.c
693
srb->result = SAM_STAT_CHECK_CONDITION;
drivers/usb/storage/isd200.c
701
srb->result = DID_ABORT << 16;
drivers/usb/storage/jumpshot.c
214
usb_stor_access_xfer_buf(buffer, len, us->srb,
drivers/usb/storage/jumpshot.c
270
usb_stor_access_xfer_buf(buffer, len, us->srb,
drivers/usb/storage/jumpshot.c
367
struct scsi_cmnd * srb,
drivers/usb/storage/jumpshot.c
387
pc = srb->cmnd[2] >> 6;
drivers/usb/storage/jumpshot.c
388
page_code = srb->cmnd[2] & 0x3F;
drivers/usb/storage/jumpshot.c
458
usb_stor_set_xfer_buf(ptr, i, srb);
drivers/usb/storage/jumpshot.c
474
static int jumpshot_transport(struct scsi_cmnd *srb, struct us_data *us)
drivers/usb/storage/jumpshot.c
494
if (srb->cmnd[0] == INQUIRY) {
drivers/usb/storage/jumpshot.c
501
if (srb->cmnd[0] == READ_CAPACITY) {
drivers/usb/storage/jumpshot.c
519
usb_stor_set_xfer_buf(ptr, 8, srb);
drivers/usb/storage/jumpshot.c
524
if (srb->cmnd[0] == MODE_SELECT_10) {
drivers/usb/storage/jumpshot.c
529
if (srb->cmnd[0] == READ_10) {
drivers/usb/storage/jumpshot.c
530
block = ((u32)(srb->cmnd[2]) << 24) | ((u32)(srb->cmnd[3]) << 16) |
drivers/usb/storage/jumpshot.c
531
((u32)(srb->cmnd[4]) << 8) | ((u32)(srb->cmnd[5]));
drivers/usb/storage/jumpshot.c
533
blocks = ((u32)(srb->cmnd[7]) << 8) | ((u32)(srb->cmnd[8]));
drivers/usb/storage/jumpshot.c
540
if (srb->cmnd[0] == READ_12) {
drivers/usb/storage/jumpshot.c
543
block = ((u32)(srb->cmnd[2]) << 24) | ((u32)(srb->cmnd[3]) << 16) |
drivers/usb/storage/jumpshot.c
544
((u32)(srb->cmnd[4]) << 8) | ((u32)(srb->cmnd[5]));
drivers/usb/storage/jumpshot.c
546
blocks = ((u32)(srb->cmnd[6]) << 24) | ((u32)(srb->cmnd[7]) << 16) |
drivers/usb/storage/jumpshot.c
547
((u32)(srb->cmnd[8]) << 8) | ((u32)(srb->cmnd[9]));
drivers/usb/storage/jumpshot.c
554
if (srb->cmnd[0] == WRITE_10) {
drivers/usb/storage/jumpshot.c
555
block = ((u32)(srb->cmnd[2]) << 24) | ((u32)(srb->cmnd[3]) << 16) |
drivers/usb/storage/jumpshot.c
556
((u32)(srb->cmnd[4]) << 8) | ((u32)(srb->cmnd[5]));
drivers/usb/storage/jumpshot.c
558
blocks = ((u32)(srb->cmnd[7]) << 8) | ((u32)(srb->cmnd[8]));
drivers/usb/storage/jumpshot.c
565
if (srb->cmnd[0] == WRITE_12) {
drivers/usb/storage/jumpshot.c
568
block = ((u32)(srb->cmnd[2]) << 24) | ((u32)(srb->cmnd[3]) << 16) |
drivers/usb/storage/jumpshot.c
569
((u32)(srb->cmnd[4]) << 8) | ((u32)(srb->cmnd[5]));
drivers/usb/storage/jumpshot.c
571
blocks = ((u32)(srb->cmnd[6]) << 24) | ((u32)(srb->cmnd[7]) << 16) |
drivers/usb/storage/jumpshot.c
572
((u32)(srb->cmnd[8]) << 8) | ((u32)(srb->cmnd[9]));
drivers/usb/storage/jumpshot.c
580
if (srb->cmnd[0] == TEST_UNIT_READY) {
drivers/usb/storage/jumpshot.c
585
if (srb->cmnd[0] == REQUEST_SENSE) {
drivers/usb/storage/jumpshot.c
594
usb_stor_set_xfer_buf(ptr, 18, srb);
drivers/usb/storage/jumpshot.c
599
if (srb->cmnd[0] == MODE_SENSE) {
drivers/usb/storage/jumpshot.c
601
return jumpshot_handle_mode_sense(us, srb, 1);
drivers/usb/storage/jumpshot.c
604
if (srb->cmnd[0] == MODE_SENSE_10) {
drivers/usb/storage/jumpshot.c
606
return jumpshot_handle_mode_sense(us, srb, 0);
drivers/usb/storage/jumpshot.c
609
if (srb->cmnd[0] == ALLOW_MEDIUM_REMOVAL) {
drivers/usb/storage/jumpshot.c
617
if (srb->cmnd[0] == START_STOP) {
drivers/usb/storage/jumpshot.c
630
srb->result = SUCCESS;
drivers/usb/storage/jumpshot.c
633
srb->result = SAM_STAT_CHECK_CONDITION;
drivers/usb/storage/jumpshot.c
639
srb->cmnd[0], srb->cmnd[0]);
drivers/usb/storage/karma.c
145
static int rio_karma_transport(struct scsi_cmnd *srb, struct us_data *us)
drivers/usb/storage/karma.c
150
if (srb->cmnd[0] == READ_10 && !data->in_storage) {
drivers/usb/storage/karma.c
156
return usb_stor_Bulk_transport(srb, us);
drivers/usb/storage/karma.c
157
} else if (srb->cmnd[0] == START_STOP) {
drivers/usb/storage/karma.c
165
return usb_stor_Bulk_transport(srb, us);
drivers/usb/storage/protocol.c
101
usb_stor_invoke_transport(srb, us);
drivers/usb/storage/protocol.c
104
void usb_stor_transparent_scsi_command(struct scsi_cmnd *srb,
drivers/usb/storage/protocol.c
108
usb_stor_invoke_transport(srb, us);
drivers/usb/storage/protocol.c
122
unsigned int buflen, struct scsi_cmnd *srb, struct scatterlist **sgptr,
drivers/usb/storage/protocol.c
128
unsigned int nents = scsi_sg_count(srb);
drivers/usb/storage/protocol.c
133
sg = scsi_sglist(srb);
drivers/usb/storage/protocol.c
169
unsigned int buflen, struct scsi_cmnd *srb)
drivers/usb/storage/protocol.c
174
buflen = min(buflen, scsi_bufflen(srb));
drivers/usb/storage/protocol.c
175
buflen = usb_stor_access_xfer_buf(buffer, buflen, srb, &sg, &offset,
drivers/usb/storage/protocol.c
177
if (buflen < scsi_bufflen(srb))
drivers/usb/storage/protocol.c
178
scsi_set_resid(srb, scsi_bufflen(srb) - buflen);
drivers/usb/storage/protocol.c
45
void usb_stor_pad12_command(struct scsi_cmnd *srb, struct us_data *us)
drivers/usb/storage/protocol.c
54
for (; srb->cmd_len < 12; srb->cmd_len++)
drivers/usb/storage/protocol.c
55
srb->cmnd[srb->cmd_len] = 0;
drivers/usb/storage/protocol.c
58
usb_stor_invoke_transport(srb, us);
drivers/usb/storage/protocol.c
61
void usb_stor_ufi_command(struct scsi_cmnd *srb, struct us_data *us)
drivers/usb/storage/protocol.c
72
for (; srb->cmd_len < 12; srb->cmd_len++)
drivers/usb/storage/protocol.c
73
srb->cmnd[srb->cmd_len] = 0;
drivers/usb/storage/protocol.c
76
srb->cmd_len = 12;
drivers/usb/storage/protocol.c
81
switch (srb->cmnd[0]) {
drivers/usb/storage/protocol.c
85
srb->cmnd[4] = 36;
drivers/usb/storage/protocol.c
90
srb->cmnd[7] = 0;
drivers/usb/storage/protocol.c
91
srb->cmnd[8] = 8;
drivers/usb/storage/protocol.c
96
srb->cmnd[4] = 18;
drivers/usb/storage/protocol.h
37
unsigned int buflen, struct scsi_cmnd *srb, struct scatterlist **,
drivers/usb/storage/protocol.h
41
unsigned int buflen, struct scsi_cmnd *srb);
drivers/usb/storage/realtek_cr.c
117
#define SCSI_LUN(srb) ((srb)->device->lun)
drivers/usb/storage/realtek_cr.c
787
static inline int working_scsi(struct scsi_cmnd *srb)
drivers/usb/storage/realtek_cr.c
789
if ((srb->cmnd[0] == TEST_UNIT_READY) ||
drivers/usb/storage/realtek_cr.c
790
(srb->cmnd[0] == ALLOW_MEDIUM_REMOVAL)) {
drivers/usb/storage/realtek_cr.c
797
static void rts51x_invoke_transport(struct scsi_cmnd *srb, struct us_data *us)
drivers/usb/storage/realtek_cr.c
809
if (working_scsi(srb)) {
drivers/usb/storage/realtek_cr.c
819
chip->proto_handler_backup(srb, us);
drivers/usb/storage/realtek_cr.c
823
if ((srb->cmnd[0] == TEST_UNIT_READY) &&
drivers/usb/storage/realtek_cr.c
825
if (TST_LUN_READY(chip, srb->device->lun)) {
drivers/usb/storage/realtek_cr.c
826
srb->result = SAM_STAT_GOOD;
drivers/usb/storage/realtek_cr.c
828
srb->result = SAM_STAT_CHECK_CONDITION;
drivers/usb/storage/realtek_cr.c
829
memcpy(srb->sense_buffer,
drivers/usb/storage/realtek_cr.c
836
if (srb->cmnd[0] == ALLOW_MEDIUM_REMOVAL) {
drivers/usb/storage/realtek_cr.c
837
int prevent = srb->cmnd[4] & 0x1;
drivers/usb/storage/realtek_cr.c
839
srb->result = SAM_STAT_CHECK_CONDITION;
drivers/usb/storage/realtek_cr.c
840
memcpy(srb->sense_buffer,
drivers/usb/storage/realtek_cr.c
844
srb->result = SAM_STAT_GOOD;
drivers/usb/storage/realtek_cr.c
851
chip->proto_handler_backup(srb, us);
drivers/usb/storage/realtek_cr.c
853
if (srb->cmnd[0] == TEST_UNIT_READY) {
drivers/usb/storage/realtek_cr.c
854
if (srb->result == SAM_STAT_GOOD) {
drivers/usb/storage/realtek_cr.c
855
SET_LUN_READY(chip, srb->device->lun);
drivers/usb/storage/realtek_cr.c
861
CLR_LUN_READY(chip, srb->device->lun);
drivers/usb/storage/scsiglue.c
360
static enum scsi_qc_status queuecommand_lck(struct scsi_cmnd *srb)
drivers/usb/storage/scsiglue.c
363
struct us_data *us = host_to_us(srb->device->host);
drivers/usb/storage/scsiglue.c
366
if (us->srb != NULL) {
drivers/usb/storage/scsiglue.c
368
"Error in %s: us->srb = %p\n", __func__, us->srb);
drivers/usb/storage/scsiglue.c
375
srb->result = DID_NO_CONNECT << 16;
drivers/usb/storage/scsiglue.c
376
done(srb);
drivers/usb/storage/scsiglue.c
381
(srb->cmnd[0] == ATA_12 || srb->cmnd[0] == ATA_16)) {
drivers/usb/storage/scsiglue.c
382
memcpy(srb->sense_buffer, usb_stor_sense_invalidCDB,
drivers/usb/storage/scsiglue.c
384
srb->result = SAM_STAT_CHECK_CONDITION;
drivers/usb/storage/scsiglue.c
385
done(srb);
drivers/usb/storage/scsiglue.c
390
us->srb = srb;
drivers/usb/storage/scsiglue.c
412
if (!us->srb) {
drivers/usb/storage/scsiglue.c
419
if (srb_match && us->srb != srb_match) {
drivers/usb/storage/scsiglue.c
444
static int command_abort(struct scsi_cmnd *srb)
drivers/usb/storage/scsiglue.c
446
struct us_data *us = host_to_us(srb->device->host);
drivers/usb/storage/scsiglue.c
449
return command_abort_matching(us, srb);
drivers/usb/storage/scsiglue.c
456
static int device_reset(struct scsi_cmnd *srb)
drivers/usb/storage/scsiglue.c
458
struct us_data *us = host_to_us(srb->device->host);
drivers/usb/storage/scsiglue.c
475
static int bus_reset(struct scsi_cmnd *srb)
drivers/usb/storage/scsiglue.c
477
struct us_data *us = host_to_us(srb->device->host);
drivers/usb/storage/sddr09.c
1027
usb_stor_access_xfer_buf(buffer, len, us->srb,
drivers/usb/storage/sddr09.c
1496
static int dpcm_transport(struct scsi_cmnd *srb, struct us_data *us)
drivers/usb/storage/sddr09.c
1500
usb_stor_dbg(us, "LUN=%d\n", (u8)srb->device->lun);
drivers/usb/storage/sddr09.c
1502
switch (srb->device->lun) {
drivers/usb/storage/sddr09.c
1508
ret = usb_stor_CB_transport(srb, us);
drivers/usb/storage/sddr09.c
1520
srb->device->lun = 0;
drivers/usb/storage/sddr09.c
1521
ret = sddr09_transport(srb, us);
drivers/usb/storage/sddr09.c
1522
srb->device->lun = 1;
drivers/usb/storage/sddr09.c
1526
usb_stor_dbg(us, "Invalid LUN %d\n", (u8)srb->device->lun);
drivers/usb/storage/sddr09.c
1537
static int sddr09_transport(struct scsi_cmnd *srb, struct us_data *us)
drivers/usb/storage/sddr09.c
1561
if (srb->cmnd[0] == REQUEST_SENSE && havefakesense) {
drivers/usb/storage/sddr09.c
1568
usb_stor_set_xfer_buf(ptr, 18, srb);
drivers/usb/storage/sddr09.c
1580
if (srb->cmnd[0] == INQUIRY) {
drivers/usb/storage/sddr09.c
1586
if (srb->cmnd[0] == READ_CAPACITY) {
drivers/usb/storage/sddr09.c
1622
usb_stor_set_xfer_buf(ptr, 8, srb);
drivers/usb/storage/sddr09.c
1627
if (srb->cmnd[0] == MODE_SENSE_10) {
drivers/usb/storage/sddr09.c
1628
int modepage = (srb->cmnd[2] & 0x3F);
drivers/usb/storage/sddr09.c
1642
usb_stor_set_xfer_buf(ptr, sizeof(mode_page_01), srb);
drivers/usb/storage/sddr09.c
1651
if (srb->cmnd[0] == ALLOW_MEDIUM_REMOVAL)
drivers/usb/storage/sddr09.c
1656
if (srb->cmnd[0] == READ_10) {
drivers/usb/storage/sddr09.c
1658
page = short_pack(srb->cmnd[3], srb->cmnd[2]);
drivers/usb/storage/sddr09.c
1660
page |= short_pack(srb->cmnd[5], srb->cmnd[4]);
drivers/usb/storage/sddr09.c
1661
pages = short_pack(srb->cmnd[8], srb->cmnd[7]);
drivers/usb/storage/sddr09.c
1671
if (srb->cmnd[0] == WRITE_10) {
drivers/usb/storage/sddr09.c
1673
page = short_pack(srb->cmnd[3], srb->cmnd[2]);
drivers/usb/storage/sddr09.c
1675
page |= short_pack(srb->cmnd[5], srb->cmnd[4]);
drivers/usb/storage/sddr09.c
1676
pages = short_pack(srb->cmnd[8], srb->cmnd[7]);
drivers/usb/storage/sddr09.c
1690
if (srb->cmnd[0] != TEST_UNIT_READY &&
drivers/usb/storage/sddr09.c
1691
srb->cmnd[0] != REQUEST_SENSE) {
drivers/usb/storage/sddr09.c
1698
for (; srb->cmd_len<12; srb->cmd_len++)
drivers/usb/storage/sddr09.c
1699
srb->cmnd[srb->cmd_len] = 0;
drivers/usb/storage/sddr09.c
1701
srb->cmnd[1] = LUNBITS;
drivers/usb/storage/sddr09.c
1705
sprintf(ptr+strlen(ptr), "%02X ", srb->cmnd[i]);
drivers/usb/storage/sddr09.c
1709
result = sddr09_send_scsi_command(us, srb->cmnd, 12);
drivers/usb/storage/sddr09.c
1716
if (scsi_bufflen(srb) == 0)
drivers/usb/storage/sddr09.c
1719
if (srb->sc_data_direction == DMA_TO_DEVICE ||
drivers/usb/storage/sddr09.c
1720
srb->sc_data_direction == DMA_FROM_DEVICE) {
drivers/usb/storage/sddr09.c
1721
unsigned int pipe = (srb->sc_data_direction == DMA_TO_DEVICE)
drivers/usb/storage/sddr09.c
1725
(srb->sc_data_direction == DMA_TO_DEVICE) ?
drivers/usb/storage/sddr09.c
1727
scsi_bufflen(srb));
drivers/usb/storage/sddr09.c
1729
result = usb_stor_bulk_srb(us, pipe, srb);
drivers/usb/storage/sddr09.c
53
static int sddr09_transport(struct scsi_cmnd *srb, struct us_data *us);
drivers/usb/storage/sddr09.c
812
usb_stor_access_xfer_buf(buffer, len, us->srb,
drivers/usb/storage/sddr55.c
290
usb_stor_access_xfer_buf(buffer, len, us->srb,
drivers/usb/storage/sddr55.c
359
usb_stor_access_xfer_buf(buffer, len, us->srb,
drivers/usb/storage/sddr55.c
781
static int sddr55_transport(struct scsi_cmnd *srb, struct us_data *us)
drivers/usb/storage/sddr55.c
810
if (srb->cmnd[0] == REQUEST_SENSE) {
drivers/usb/storage/sddr55.c
819
usb_stor_set_xfer_buf (ptr, sizeof info->sense_data, srb);
drivers/usb/storage/sddr55.c
832
if (srb->cmnd[0] == INQUIRY) {
drivers/usb/storage/sddr55.c
865
if (srb->cmnd[0] == READ_CAPACITY) {
drivers/usb/storage/sddr55.c
893
usb_stor_set_xfer_buf(ptr, 8, srb);
drivers/usb/storage/sddr55.c
900
if (srb->cmnd[0] == MODE_SENSE_10) {
drivers/usb/storage/sddr55.c
904
usb_stor_set_xfer_buf(ptr, sizeof(mode_page_01), srb);
drivers/usb/storage/sddr55.c
906
if ( (srb->cmnd[2] & 0x3F) == 0x01 ) {
drivers/usb/storage/sddr55.c
910
} else if ( (srb->cmnd[2] & 0x3F) == 0x3F ) {
drivers/usb/storage/sddr55.c
919
if (srb->cmnd[0] == ALLOW_MEDIUM_REMOVAL) {
drivers/usb/storage/sddr55.c
922
(srb->cmnd[4]&0x03) ? "Prevent" : "Allow");
drivers/usb/storage/sddr55.c
928
if (srb->cmnd[0] == READ_10 || srb->cmnd[0] == WRITE_10) {
drivers/usb/storage/sddr55.c
930
page = short_pack(srb->cmnd[3], srb->cmnd[2]);
drivers/usb/storage/sddr55.c
932
page |= short_pack(srb->cmnd[5], srb->cmnd[4]);
drivers/usb/storage/sddr55.c
933
pages = short_pack(srb->cmnd[8], srb->cmnd[7]);
drivers/usb/storage/sddr55.c
956
if (srb->cmnd[0] == WRITE_10) {
drivers/usb/storage/sddr55.c
970
if (srb->cmnd[0] == TEST_UNIT_READY) {
drivers/usb/storage/sddr55.c
974
if (srb->cmnd[0] == START_STOP) {
drivers/usb/storage/shuttle_usbat.c
1180
usb_stor_access_xfer_buf(buffer, len, us->srb,
drivers/usb/storage/shuttle_usbat.c
1256
usb_stor_access_xfer_buf(buffer, len, us->srb,
drivers/usb/storage/shuttle_usbat.c
1291
struct scsi_cmnd *srb)
drivers/usb/storage/shuttle_usbat.c
1300
usb_stor_dbg(us, "transfersize %d\n", srb->transfersize);
drivers/usb/storage/shuttle_usbat.c
1302
if (scsi_bufflen(srb) < 0x10000) {
drivers/usb/storage/shuttle_usbat.c
1309
scsi_sglist(srb),
drivers/usb/storage/shuttle_usbat.c
1310
scsi_bufflen(srb), scsi_sg_count(srb), 1);
drivers/usb/storage/shuttle_usbat.c
1328
srb->transfersize = scsi_bufflen(srb)/len;
drivers/usb/storage/shuttle_usbat.c
1331
if (!srb->transfersize) {
drivers/usb/storage/shuttle_usbat.c
1332
srb->transfersize = 2048; /* A guess */
drivers/usb/storage/shuttle_usbat.c
1334
srb->transfersize);
drivers/usb/storage/shuttle_usbat.c
1343
len = (65535/srb->transfersize) * srb->transfersize;
drivers/usb/storage/shuttle_usbat.c
1345
len = min(len, scsi_bufflen(srb));
drivers/usb/storage/shuttle_usbat.c
1354
while (transferred != scsi_bufflen(srb)) {
drivers/usb/storage/shuttle_usbat.c
1356
if (len > scsi_bufflen(srb) - transferred)
drivers/usb/storage/shuttle_usbat.c
1357
len = scsi_bufflen(srb) - transferred;
drivers/usb/storage/shuttle_usbat.c
1370
data[7+7] = MSB_of(len / srb->transfersize); /* SCSI command */
drivers/usb/storage/shuttle_usbat.c
1371
data[7+8] = LSB_of(len / srb->transfersize); /* num sectors */
drivers/usb/storage/shuttle_usbat.c
1385
usb_stor_access_xfer_buf(buffer, len, srb,
drivers/usb/storage/shuttle_usbat.c
1391
sector += len / srb->transfersize;
drivers/usb/storage/shuttle_usbat.c
150
static int usbat_flash_transport(struct scsi_cmnd * srb, struct us_data *us);
drivers/usb/storage/shuttle_usbat.c
151
static int usbat_hp8200e_transport(struct scsi_cmnd *srb, struct us_data *us);
drivers/usb/storage/shuttle_usbat.c
1552
static int usbat_hp8200e_transport(struct scsi_cmnd *srb, struct us_data *us)
drivers/usb/storage/shuttle_usbat.c
1561
len = scsi_bufflen(srb);
drivers/usb/storage/shuttle_usbat.c
1586
data[i] = (i-7 >= srb->cmd_len) ? 0 : srb->cmnd[i-7];
drivers/usb/storage/shuttle_usbat.c
1593
if (srb->cmnd[0] == TEST_UNIT_READY)
drivers/usb/storage/shuttle_usbat.c
1596
if (srb->sc_data_direction == DMA_TO_DEVICE) {
drivers/usb/storage/shuttle_usbat.c
1603
scsi_sglist(srb),
drivers/usb/storage/shuttle_usbat.c
1604
len, scsi_sg_count(srb), 10);
drivers/usb/storage/shuttle_usbat.c
1613
} else if (srb->cmnd[0] == READ_10 ||
drivers/usb/storage/shuttle_usbat.c
1614
srb->cmnd[0] == GPCMD_READ_CD) {
drivers/usb/storage/shuttle_usbat.c
1616
return usbat_hp8200e_handle_read10(us, registers, data, srb);
drivers/usb/storage/shuttle_usbat.c
1641
result = usbat_write_block(us, USBAT_ATA, srb->cmnd, 12,
drivers/usb/storage/shuttle_usbat.c
1642
srb->cmnd[0] == GPCMD_BLANK ? 75 : 10, 0);
drivers/usb/storage/shuttle_usbat.c
1649
if (len != 0 && (srb->sc_data_direction == DMA_FROM_DEVICE)) {
drivers/usb/storage/shuttle_usbat.c
1670
result = usbat_read_block(us, scsi_sglist(srb), len,
drivers/usb/storage/shuttle_usbat.c
1671
scsi_sg_count(srb));
drivers/usb/storage/shuttle_usbat.c
1680
static int usbat_flash_transport(struct scsi_cmnd * srb, struct us_data *us)
drivers/usb/storage/shuttle_usbat.c
1690
if (srb->cmnd[0] == INQUIRY) {
drivers/usb/storage/shuttle_usbat.c
1697
if (srb->cmnd[0] == READ_CAPACITY) {
drivers/usb/storage/shuttle_usbat.c
1718
usb_stor_set_xfer_buf(ptr, 8, srb);
drivers/usb/storage/shuttle_usbat.c
1723
if (srb->cmnd[0] == MODE_SELECT_10) {
drivers/usb/storage/shuttle_usbat.c
1728
if (srb->cmnd[0] == READ_10) {
drivers/usb/storage/shuttle_usbat.c
1729
block = ((u32)(srb->cmnd[2]) << 24) | ((u32)(srb->cmnd[3]) << 16) |
drivers/usb/storage/shuttle_usbat.c
1730
((u32)(srb->cmnd[4]) << 8) | ((u32)(srb->cmnd[5]));
drivers/usb/storage/shuttle_usbat.c
1732
blocks = ((u32)(srb->cmnd[7]) << 8) | ((u32)(srb->cmnd[8]));
drivers/usb/storage/shuttle_usbat.c
1739
if (srb->cmnd[0] == READ_12) {
drivers/usb/storage/shuttle_usbat.c
1743
block = ((u32)(srb->cmnd[2]) << 24) | ((u32)(srb->cmnd[3]) << 16) |
drivers/usb/storage/shuttle_usbat.c
1744
((u32)(srb->cmnd[4]) << 8) | ((u32)(srb->cmnd[5]));
drivers/usb/storage/shuttle_usbat.c
1746
blocks = ((u32)(srb->cmnd[6]) << 24) | ((u32)(srb->cmnd[7]) << 16) |
drivers/usb/storage/shuttle_usbat.c
1747
((u32)(srb->cmnd[8]) << 8) | ((u32)(srb->cmnd[9]));
drivers/usb/storage/shuttle_usbat.c
1754
if (srb->cmnd[0] == WRITE_10) {
drivers/usb/storage/shuttle_usbat.c
1755
block = ((u32)(srb->cmnd[2]) << 24) | ((u32)(srb->cmnd[3]) << 16) |
drivers/usb/storage/shuttle_usbat.c
1756
((u32)(srb->cmnd[4]) << 8) | ((u32)(srb->cmnd[5]));
drivers/usb/storage/shuttle_usbat.c
1758
blocks = ((u32)(srb->cmnd[7]) << 8) | ((u32)(srb->cmnd[8]));
drivers/usb/storage/shuttle_usbat.c
1765
if (srb->cmnd[0] == WRITE_12) {
drivers/usb/storage/shuttle_usbat.c
1769
block = ((u32)(srb->cmnd[2]) << 24) | ((u32)(srb->cmnd[3]) << 16) |
drivers/usb/storage/shuttle_usbat.c
1770
((u32)(srb->cmnd[4]) << 8) | ((u32)(srb->cmnd[5]));
drivers/usb/storage/shuttle_usbat.c
1772
blocks = ((u32)(srb->cmnd[6]) << 24) | ((u32)(srb->cmnd[7]) << 16) |
drivers/usb/storage/shuttle_usbat.c
1773
((u32)(srb->cmnd[8]) << 8) | ((u32)(srb->cmnd[9]));
drivers/usb/storage/shuttle_usbat.c
1781
if (srb->cmnd[0] == TEST_UNIT_READY) {
drivers/usb/storage/shuttle_usbat.c
1791
if (srb->cmnd[0] == REQUEST_SENSE) {
drivers/usb/storage/shuttle_usbat.c
1800
usb_stor_set_xfer_buf(ptr, 18, srb);
drivers/usb/storage/shuttle_usbat.c
1805
if (srb->cmnd[0] == ALLOW_MEDIUM_REMOVAL) {
drivers/usb/storage/shuttle_usbat.c
1814
srb->cmnd[0], srb->cmnd[0]);
drivers/usb/storage/transport.c
1028
if (srb->cmnd[0] == REQUEST_SENSE ||
drivers/usb/storage/transport.c
1029
srb->cmnd[0] == INQUIRY)
drivers/usb/storage/transport.c
1111
int usb_stor_Bulk_transport(struct scsi_cmnd *srb, struct us_data *us)
drivers/usb/storage/transport.c
1115
unsigned int transfer_length = scsi_bufflen(srb);
drivers/usb/storage/transport.c
1131
bcb->Flags = srb->sc_data_direction == DMA_FROM_DEVICE ?
drivers/usb/storage/transport.c
1134
bcb->Lun = srb->device->lun;
drivers/usb/storage/transport.c
1136
bcb->Lun |= srb->device->id << 4;
drivers/usb/storage/transport.c
1137
bcb->Length = srb->cmd_len;
drivers/usb/storage/transport.c
1141
memcpy(bcb->CDB, srb->cmnd, bcb->Length);
drivers/usb/storage/transport.c
1167
unsigned int pipe = srb->sc_data_direction == DMA_FROM_DEVICE ?
drivers/usb/storage/transport.c
1169
result = usb_stor_bulk_srb(us, pipe, srb);
drivers/usb/storage/transport.c
1191
srb->sc_data_direction == DMA_FROM_DEVICE &&
drivers/usb/storage/transport.c
1192
transfer_length - scsi_get_resid(srb) ==
drivers/usb/storage/transport.c
1198
US_BULK_CS_WRAP_LEN, srb, &sg,
drivers/usb/storage/transport.c
1215
US_BULK_CS_WRAP_LEN, srb, &sg,
drivers/usb/storage/transport.c
1220
scsi_set_resid(srb, transfer_length);
drivers/usb/storage/transport.c
1302
scsi_get_resid(srb) == 0 &&
drivers/usb/storage/transport.c
1303
((srb->cmnd[0] == INQUIRY &&
drivers/usb/storage/transport.c
1305
(srb->cmnd[0] == READ_CAPACITY &&
drivers/usb/storage/transport.c
1311
scsi_set_resid(srb, max(scsi_get_resid(srb), residue));
drivers/usb/storage/transport.c
1320
memcpy(srb->sense_buffer,
drivers/usb/storage/transport.c
467
struct scsi_cmnd* srb)
drivers/usb/storage/transport.c
470
int result = usb_stor_bulk_transfer_sglist(us, pipe, scsi_sglist(srb),
drivers/usb/storage/transport.c
471
scsi_sg_count(srb), scsi_bufflen(srb),
drivers/usb/storage/transport.c
474
scsi_set_resid(srb, scsi_bufflen(srb) - partial);
drivers/usb/storage/transport.c
524
static void last_sector_hacks(struct us_data *us, struct scsi_cmnd *srb)
drivers/usb/storage/transport.c
548
if (srb->cmnd[0] != READ_10 && srb->cmnd[0] != WRITE_10)
drivers/usb/storage/transport.c
552
sector = (srb->cmnd[2] << 24) | (srb->cmnd[3] << 16) |
drivers/usb/storage/transport.c
553
(srb->cmnd[4] << 8) | (srb->cmnd[5]);
drivers/usb/storage/transport.c
554
disk = scsi_cmd_to_rq(srb)->q->disk;
drivers/usb/storage/transport.c
563
if (srb->result == SAM_STAT_GOOD && scsi_get_resid(srb) == 0) {
drivers/usb/storage/transport.c
583
srb->result = SAM_STAT_CHECK_CONDITION;
drivers/usb/storage/transport.c
584
memcpy(srb->sense_buffer, record_not_found,
drivers/usb/storage/transport.c
594
if (srb->cmnd[0] != TEST_UNIT_READY)
drivers/usb/storage/transport.c
604
void usb_stor_invoke_transport(struct scsi_cmnd *srb, struct us_data *us)
drivers/usb/storage/transport.c
610
scsi_set_resid(srb, 0);
drivers/usb/storage/transport.c
611
result = us->transport(srb, us);
drivers/usb/storage/transport.c
619
srb->result = DID_ABORT << 16;
drivers/usb/storage/transport.c
626
srb->result = DID_ERROR << 16;
drivers/usb/storage/transport.c
632
srb->result = SAM_STAT_CHECK_CONDITION;
drivers/usb/storage/transport.c
633
last_sector_hacks(us, srb);
drivers/usb/storage/transport.c
637
srb->result = SAM_STAT_GOOD;
drivers/usb/storage/transport.c
654
srb->sc_data_direction != DMA_FROM_DEVICE) {
drivers/usb/storage/transport.c
661
srb->cmnd[0] == SYNCHRONIZE_CACHE) {
drivers/usb/storage/transport.c
682
if (unlikely((srb->cmnd[0] == ATA_16 || srb->cmnd[0] == ATA_12) &&
drivers/usb/storage/transport.c
686
!(srb->cmnd[2] & 0x20))) {
drivers/usb/storage/transport.c
695
if ((scsi_get_resid(srb) > 0) &&
drivers/usb/storage/transport.c
696
!((srb->cmnd[0] == REQUEST_SENSE) ||
drivers/usb/storage/transport.c
697
(srb->cmnd[0] == INQUIRY) ||
drivers/usb/storage/transport.c
698
(srb->cmnd[0] == MODE_SENSE) ||
drivers/usb/storage/transport.c
699
(srb->cmnd[0] == LOG_SENSE) ||
drivers/usb/storage/transport.c
700
(srb->cmnd[0] == MODE_SENSE_10))) {
drivers/usb/storage/transport.c
719
scsi_eh_prep_cmnd(srb, &ses, NULL, 0, sense_size);
drivers/usb/storage/transport.c
724
srb->cmd_len = 6;
drivers/usb/storage/transport.c
726
srb->cmd_len = 12;
drivers/usb/storage/transport.c
729
scsi_set_resid(srb, 0);
drivers/usb/storage/transport.c
730
temp_result = us->transport(us->srb, us);
drivers/usb/storage/transport.c
733
scsi_eh_restore_cmnd(srb, &ses);
drivers/usb/storage/transport.c
737
srb->result = DID_ABORT << 16;
drivers/usb/storage/transport.c
771
srb->result = DID_ERROR << 16;
drivers/usb/storage/transport.c
782
if (srb->sense_buffer[7] > (US_SENSE_SIZE - 8) &&
drivers/usb/storage/transport.c
785
(srb->sense_buffer[0] & 0x7C) == 0x70) {
drivers/usb/storage/transport.c
795
srb->sense_buffer[7] + 8);
drivers/usb/storage/transport.c
796
srb->sense_buffer[7] = (US_SENSE_SIZE - 8);
drivers/usb/storage/transport.c
799
scsi_normalize_sense(srb->sense_buffer, SCSI_SENSE_BUFFERSIZE,
drivers/usb/storage/transport.c
812
srb->result = SAM_STAT_CHECK_CONDITION;
drivers/usb/storage/transport.c
814
scdd = scsi_sense_desc_find(srb->sense_buffer,
drivers/usb/storage/transport.c
816
fm_ili = (scdd ? scdd[3] : srb->sense_buffer[2]) & 0xA0;
drivers/usb/storage/transport.c
831
srb->result = SAM_STAT_GOOD;
drivers/usb/storage/transport.c
832
srb->sense_buffer[0] = 0x0;
drivers/usb/storage/transport.c
841
else if (srb->cmnd[0] == ATA_16 ||
drivers/usb/storage/transport.c
842
srb->cmnd[0] == ATA_12) {
drivers/usb/storage/transport.c
852
srb->result = DID_ERROR << 16;
drivers/usb/storage/transport.c
854
srb->sense_buffer[1] = HARDWARE_ERROR;
drivers/usb/storage/transport.c
856
srb->sense_buffer[2] = HARDWARE_ERROR;
drivers/usb/storage/transport.c
870
srb->cmnd[0] == READ_10)) {
drivers/usb/storage/transport.c
871
if (srb->result == SAM_STAT_GOOD) {
drivers/usb/storage/transport.c
885
srb->result = DID_IMM_RETRY << 16;
drivers/usb/storage/transport.c
886
srb->sense_buffer[0] = 0;
drivers/usb/storage/transport.c
891
if ((srb->result == SAM_STAT_GOOD || srb->sense_buffer[2] == 0) &&
drivers/usb/storage/transport.c
892
scsi_bufflen(srb) - scsi_get_resid(srb) < srb->underflow)
drivers/usb/storage/transport.c
893
srb->result = DID_ERROR << 16;
drivers/usb/storage/transport.c
895
last_sector_hacks(us, srb);
drivers/usb/storage/transport.c
929
last_sector_hacks(us, srb);
drivers/usb/storage/transport.c
957
int usb_stor_CB_transport(struct scsi_cmnd *srb, struct us_data *us)
drivers/usb/storage/transport.c
959
unsigned int transfer_length = scsi_bufflen(srb);
drivers/usb/storage/transport.c
969
memcpy(us->iobuf, srb->cmnd, srb->cmd_len);
drivers/usb/storage/transport.c
973
us->ifnum, us->iobuf, srb->cmd_len);
drivers/usb/storage/transport.c
992
pipe = srb->sc_data_direction == DMA_FROM_DEVICE ?
drivers/usb/storage/transport.c
994
result = usb_stor_bulk_srb(us, pipe, srb);
drivers/usb/storage/transport.h
85
struct scsi_cmnd* srb);
drivers/usb/storage/usb.c
376
usb_stor_set_xfer_buf(data, data_len, us->srb);
drivers/usb/storage/usb.c
384
struct scsi_cmnd *srb;
drivers/usb/storage/usb.c
400
srb = us->srb;
drivers/usb/storage/usb.c
401
if (srb == NULL) {
drivers/usb/storage/usb.c
410
srb->result = DID_ABORT << 16;
drivers/usb/storage/usb.c
420
if (srb->sc_data_direction == DMA_BIDIRECTIONAL) {
drivers/usb/storage/usb.c
422
srb->result = DID_ERROR << 16;
drivers/usb/storage/usb.c
429
else if (srb->device->id &&
drivers/usb/storage/usb.c
432
srb->device->id,
drivers/usb/storage/usb.c
433
srb->device->lun);
drivers/usb/storage/usb.c
434
srb->result = DID_BAD_TARGET << 16;
drivers/usb/storage/usb.c
437
else if (srb->device->lun > us->max_lun) {
drivers/usb/storage/usb.c
439
srb->device->id,
drivers/usb/storage/usb.c
440
srb->device->lun);
drivers/usb/storage/usb.c
441
srb->result = DID_BAD_TARGET << 16;
drivers/usb/storage/usb.c
448
else if ((srb->cmnd[0] == INQUIRY) &&
drivers/usb/storage/usb.c
456
srb->result = SAM_STAT_GOOD;
drivers/usb/storage/usb.c
461
US_DEBUG(usb_stor_show_command(us, srb));
drivers/usb/storage/usb.c
462
us->proto_handler(srb, us);
drivers/usb/storage/usb.c
470
if (srb->result == DID_ABORT << 16) {
drivers/usb/storage/usb.c
473
srb = NULL; /* Don't call scsi_done() */
drivers/usb/storage/usb.c
492
us->srb = NULL;
drivers/usb/storage/usb.c
499
if (srb) {
drivers/usb/storage/usb.c
501
srb->result);
drivers/usb/storage/usb.c
502
scsi_done_direct(srb);
drivers/usb/storage/usb.h
123
struct scsi_cmnd *srb; /* current srb */
sound/soc/atmel/mchp-i2s-mcc.c
270
u32 sra, imra, srb, imrb, pendinga, pendingb, idra = 0, idrb = 0;
sound/soc/atmel/mchp-i2s-mcc.c
278
regmap_read(dev->regmap, MCHP_I2SMCC_ISRB, &srb);
sound/soc/atmel/mchp-i2s-mcc.c
279
pendingb = imrb & srb;