taglinefilesource code
STp164drivers/scsi/st.cScsi_Tape * STp;
STp167drivers/scsi/st.cSTp = &(scsi_tapes[st_nbr]);
STp168drivers/scsi/st.cif ((STp->buffer)->writing &&
STp180drivers/scsi/st.c(STp->buffer)->last_result = SCpnt->result; /* Error */
STp182drivers/scsi/st.c(STp->buffer)->last_result = INT_MAX; /* OK */
STp185drivers/scsi/st.c(STp->buffer)->last_result = SCpnt->result;
STp186drivers/scsi/st.c(STp->buffer)->last_result_fatal = st_chk_result(SCpnt);
STp187drivers/scsi/st.cif ((STp->buffer)->writing)
STp191drivers/scsi/st.cif ((STp->buffer)->writing <= 0)
STp192drivers/scsi/st.cwake_up( &(STp->waiting) );
STp206drivers/scsi/st.cScsi_Tape * STp;
STp209drivers/scsi/st.cSTp = &(scsi_tapes[dev]);
STp210drivers/scsi/st.cSTbuffer = STp->buffer;
STp215drivers/scsi/st.csleep_on( &(STp->waiting) );
STp240drivers/scsi/st.cScsi_Tape *STp = &(scsi_tapes[dev]);
STp243drivers/scsi/st.cif ((STp->buffer)->writing) {
STp245drivers/scsi/st.cif ((STp->buffer)->last_result_fatal) {
STp248drivers/scsi/st.c(STp->buffer)->last_result);
STp250drivers/scsi/st.cif ((STp->buffer)->last_result == INT_MAX)
STp258drivers/scsi/st.cif (STp->dirty == 1) {
STp259drivers/scsi/st.cSCpnt = allocate_device(NULL, (STp->device)->index, 1);
STp261drivers/scsi/st.coffset = (STp->buffer)->buffer_bytes;
STp262drivers/scsi/st.ctransfer = ((offset + STp->block_size - 1) /
STp263drivers/scsi/st.cSTp->block_size) * STp->block_size;
STp267drivers/scsi/st.cmemset((STp->buffer)->b_data + offset, 0, transfer - offset);
STp273drivers/scsi/st.cblks = transfer / STp->block_size;
STp279drivers/scsi/st.c(void *) cmd, (STp->buffer)->b_data, transfer,
STp282drivers/scsi/st.cif (SCpnt->request.dev == dev) sleep_on( &(STp->waiting) );
STp284drivers/scsi/st.cif ((STp->buffer)->last_result_fatal != 0) {
STp289drivers/scsi/st.cSTp->dirty = 0;
STp290drivers/scsi/st.c(STp->buffer)->buffer_bytes = 0;
STp297drivers/scsi/st.cSTp->dirty = 0;
STp298drivers/scsi/st.c(STp->buffer)->buffer_bytes = 0;
STp313drivers/scsi/st.cScsi_Tape * STp;
STp317drivers/scsi/st.cSTp = &(scsi_tapes[dev]);
STp318drivers/scsi/st.cSTbuffer = STp->buffer;
STp320drivers/scsi/st.cif (STp->rw == ST_WRITING)  /* Writing */
STp323drivers/scsi/st.cif (STp->block_size == 0)
STp326drivers/scsi/st.cbackspace = ((STp->buffer)->buffer_bytes +
STp327drivers/scsi/st.c(STp->buffer)->read_pointer) / STp->block_size -
STp328drivers/scsi/st.c((STp->buffer)->read_pointer + STp->block_size - 1) /
STp329drivers/scsi/st.cSTp->block_size;
STp330drivers/scsi/st.c(STp->buffer)->buffer_bytes = 0;
STp331drivers/scsi/st.c(STp->buffer)->read_pointer = 0;
STp334drivers/scsi/st.cif ((STp->eof == ST_FM) && !STp->eof_hit) {
STp337drivers/scsi/st.cSTp->eof = ST_NOEOF;
STp338drivers/scsi/st.cSTp->eof_hit = 0;
STp358drivers/scsi/st.cScsi_Tape * STp;
STp363drivers/scsi/st.cSTp = &(scsi_tapes[dev]);
STp364drivers/scsi/st.cif (STp->in_use) {
STp377drivers/scsi/st.cSTp->buffer = st_buffers[i];
STp378drivers/scsi/st.c(STp->buffer)->in_use = 1;
STp379drivers/scsi/st.c(STp->buffer)->writing = 0;
STp380drivers/scsi/st.cSTp->in_use = 1;
STp383drivers/scsi/st.cSTp->write_prot = ((flags & O_ACCMODE) == O_RDONLY);
STp385drivers/scsi/st.cSTp->dirty = 0;
STp386drivers/scsi/st.cSTp->rw = ST_IDLE;
STp387drivers/scsi/st.cSTp->eof = ST_NOEOF;
STp388drivers/scsi/st.cSTp->eof_hit = 0;
STp389drivers/scsi/st.cSTp->recover_count = 0;
STp391drivers/scsi/st.cSCpnt = allocate_device(NULL, (STp->device)->index, 1);
STp402drivers/scsi/st.c(void *) cmd, (void *) (STp->buffer)->b_data,
STp406drivers/scsi/st.cif (SCpnt->request.dev == dev) sleep_on( &(STp->waiting) );
STp415drivers/scsi/st.c(void *) cmd, (void *) (STp->buffer)->b_data,
STp419drivers/scsi/st.cif (SCpnt->request.dev == dev) sleep_on( &(STp->waiting) );
STp422drivers/scsi/st.cif ((STp->buffer)->last_result_fatal != 0) {
STp428drivers/scsi/st.c(STp->buffer)->in_use = 0;
STp429drivers/scsi/st.cSTp->in_use = 0;
STp439drivers/scsi/st.c(void *) cmd, (void *) (STp->buffer)->b_data,
STp442drivers/scsi/st.cif (SCpnt->request.dev == dev) sleep_on( &(STp->waiting) );
STp445drivers/scsi/st.cSTp->max_block = ((STp->buffer)->b_data[1] << 16) |
STp446drivers/scsi/st.c((STp->buffer)->b_data[2] << 8) | (STp->buffer)->b_data[3];
STp447drivers/scsi/st.cSTp->min_block = ((STp->buffer)->b_data[4] << 8) |
STp448drivers/scsi/st.c(STp->buffer)->b_data[5];
STp450drivers/scsi/st.cprintk("st%d: Block limits %d - %d bytes.\n", dev, STp->min_block,
STp451drivers/scsi/st.cSTp->max_block);
STp455drivers/scsi/st.cSTp->min_block = STp->max_block = (-1);
STp467drivers/scsi/st.c(void *) cmd, (void *) (STp->buffer)->b_data,
STp470drivers/scsi/st.cif (SCpnt->request.dev == dev) sleep_on( &(STp->waiting) );
STp472drivers/scsi/st.cif ((STp->buffer)->last_result_fatal != 0) {
STp476drivers/scsi/st.c(STp->buffer)->b_data[2] =
STp477drivers/scsi/st.c(STp->buffer)->b_data[3] = 0;
STp483drivers/scsi/st.c(STp->buffer)->b_data[0], (STp->buffer)->b_data[1],
STp484drivers/scsi/st.c(STp->buffer)->b_data[2], (STp->buffer)->b_data[3]);
STp487drivers/scsi/st.cif ((STp->buffer)->b_data[3] >= 8) {
STp488drivers/scsi/st.cSTp->drv_buffer = ((STp->buffer)->b_data[2] >> 4) & 7;
STp489drivers/scsi/st.cSTp->density = (STp->buffer)->b_data[4];
STp490drivers/scsi/st.cSTp->block_size = (STp->buffer)->b_data[9] * 65536 +
STp491drivers/scsi/st.c(STp->buffer)->b_data[10] * 256 + (STp->buffer)->b_data[11];
STp495drivers/scsi/st.cdev, STp->density, (STp->buffer)->b_data[5] * 65536 +
STp496drivers/scsi/st.c(STp->buffer)->b_data[6] * 256 + (STp->buffer)->b_data[7],
STp497drivers/scsi/st.cSTp->block_size, STp->drv_buffer);
STp499drivers/scsi/st.cif (STp->block_size > ST_BUFFER_SIZE) {
STp501drivers/scsi/st.cSTp->block_size);
STp502drivers/scsi/st.c(STp->buffer)->in_use = 0;
STp503drivers/scsi/st.cSTp->in_use = 0;
STp509drivers/scsi/st.cSTp->block_size = ST_BLOCK_SIZE;
STp511drivers/scsi/st.cif (STp->block_size > 0) {
STp512drivers/scsi/st.c(STp->buffer)->buffer_blocks = ST_BUFFER_SIZE / STp->block_size;
STp513drivers/scsi/st.c(STp->buffer)->buffer_size =
STp514drivers/scsi/st.c(STp->buffer)->buffer_blocks * STp->block_size;
STp517drivers/scsi/st.c(STp->buffer)->buffer_blocks = 1;
STp518drivers/scsi/st.c(STp->buffer)->buffer_size = ST_BUFFER_SIZE;
STp520drivers/scsi/st.c(STp->buffer)->buffer_bytes = (STp->buffer)->read_pointer = 0;
STp524drivers/scsi/st.cSTp->block_size, (STp->buffer)->buffer_size,
STp525drivers/scsi/st.c(STp->buffer)->buffer_blocks);
STp528drivers/scsi/st.cif ((STp->buffer)->b_data[2] & 0x80) {
STp529drivers/scsi/st.cSTp->write_prot = 1;
STp548drivers/scsi/st.cScsi_Tape * STp;
STp553drivers/scsi/st.cSTp = &(scsi_tapes[dev]);
STp555drivers/scsi/st.cif ( STp->rw == ST_WRITING) {
STp564drivers/scsi/st.cSCpnt = allocate_device(NULL, (STp->device)->index, 1);
STp572drivers/scsi/st.c(void *) cmd, (void *) (STp->buffer)->b_data,
STp575drivers/scsi/st.cif (SCpnt->request.dev == dev) sleep_on( &(STp->waiting) );
STp577drivers/scsi/st.cif ((STp->buffer)->last_result_fatal != 0)
STp589drivers/scsi/st.cif ((STp->eof == ST_FM) && !STp->eof_hit)
STp599drivers/scsi/st.c(STp->buffer)->in_use = 0;
STp600drivers/scsi/st.cSTp->in_use = 0;
STp616drivers/scsi/st.cScsi_Tape * STp;
STp619drivers/scsi/st.cSTp = &(scsi_tapes[dev]);
STp621drivers/scsi/st.cif (!STp->in_use) {
STp627drivers/scsi/st.cif (STp->write_prot)
STp630drivers/scsi/st.cif (STp->block_size == 0 && count > ST_BUFFER_SIZE)
STp633drivers/scsi/st.cif (STp->rw == ST_READING) {
STp637drivers/scsi/st.cSTp->rw = ST_WRITING;
STp641drivers/scsi/st.cif ((STp->buffer)->writing) {
STp643drivers/scsi/st.cif ((STp->buffer)->last_result_fatal) {
STp646drivers/scsi/st.c(STp->buffer)->last_result);
STp648drivers/scsi/st.cif ((STp->buffer)->last_result == INT_MAX) {
STp650drivers/scsi/st.cSTp->eof = ST_EOM_OK;
STp659drivers/scsi/st.cif (STp->eof == ST_EOM_OK)
STp661drivers/scsi/st.celse if (STp->eof == ST_EOM_ERROR)
STp665drivers/scsi/st.cif (STp->block_size != 0 && (count % STp->block_size) != 0)
STp669drivers/scsi/st.cwrite_threshold = (STp->buffer)->buffer_size;
STp672drivers/scsi/st.cSCpnt = allocate_device(NULL, (STp->device)->index, 1);
STp678drivers/scsi/st.ccmd[1] = (STp->block_size != 0);
STp680drivers/scsi/st.cSTp->rw = ST_WRITING;
STp685drivers/scsi/st.cSTp->block_size != 0 &&
STp686drivers/scsi/st.c((STp->buffer)->buffer_bytes + count) >
STp689drivers/scsi/st.c(STp->block_size == 0 && count > 0) ||
STp690drivers/scsi/st.c((STp->buffer)->buffer_bytes + count) >=
STp694drivers/scsi/st.cif (STp->block_size == 0)
STp697drivers/scsi/st.cdo_count = (STp->buffer)->buffer_size - (STp->buffer)->buffer_bytes;
STp701drivers/scsi/st.cmemcpy_fromfs((STp->buffer)->b_data +
STp702drivers/scsi/st.c(STp->buffer)->buffer_bytes, b_point, do_count);
STp704drivers/scsi/st.cif (STp->block_size == 0)
STp707drivers/scsi/st.cblks = ((STp->buffer)->buffer_bytes + do_count) /
STp708drivers/scsi/st.cSTp->block_size;
STp715drivers/scsi/st.c(void *) cmd, (STp->buffer)->b_data,
STp716drivers/scsi/st.c(STp->buffer)->buffer_size,
STp719drivers/scsi/st.cif (SCpnt->request.dev == dev) sleep_on( &(STp->waiting) );
STp721drivers/scsi/st.cif ((STp->buffer)->last_result_fatal != 0) {
STp727drivers/scsi/st.cif (STp->block_size != 0 && (SCpnt->sense_buffer[0] & 0x80) != 0)
STp731drivers/scsi/st.celse if (STp->block_size == 0 &&
STp736drivers/scsi/st.cif (STp->block_size != 0)
STp737drivers/scsi/st.ctransfer *= STp->block_size;
STp741drivers/scsi/st.cSTp->eof = ST_EOM_OK;
STp749drivers/scsi/st.cSTp->eof = ST_EOM_ERROR;
STp760drivers/scsi/st.c(STp->buffer)->buffer_bytes = 0;
STp761drivers/scsi/st.cSTp->dirty = 0;
STp770drivers/scsi/st.c(STp->buffer)->buffer_bytes = 0;
STp771drivers/scsi/st.cSTp->dirty = 0;
STp774drivers/scsi/st.cSTp->dirty = 1;
STp775drivers/scsi/st.cmemcpy_fromfs((STp->buffer)->b_data +
STp776drivers/scsi/st.c(STp->buffer)->buffer_bytes,b_point,count);
STp778drivers/scsi/st.c(STp->buffer)->buffer_bytes += count;
STp782drivers/scsi/st.cif ((STp->buffer)->last_result_fatal != 0) {
STp784drivers/scsi/st.creturn (STp->buffer)->last_result_fatal;
STp788drivers/scsi/st.cif ((STp->buffer)->buffer_bytes >= ST_WRITE_THRESHOLD ||
STp789drivers/scsi/st.cSTp->block_size == 0) {
STp791drivers/scsi/st.cif (STp->block_size == 0)
STp792drivers/scsi/st.c(STp->buffer)->writing = (STp->buffer)->buffer_bytes;
STp794drivers/scsi/st.c(STp->buffer)->writing = ((STp->buffer)->buffer_bytes /
STp795drivers/scsi/st.cSTp->block_size) * STp->block_size;
STp796drivers/scsi/st.cSTp->dirty = 0;
STp798drivers/scsi/st.cif (STp->block_size == 0)
STp799drivers/scsi/st.cblks = (STp->buffer)->writing;
STp801drivers/scsi/st.cblks = (STp->buffer)->writing / STp->block_size;
STp805drivers/scsi/st.cSCpnt->result = (STp->buffer)->last_result = -1;
STp809drivers/scsi/st.c(void *) cmd, (STp->buffer)->b_data,
STp810drivers/scsi/st.c(STp->buffer)->writing,
STp830drivers/scsi/st.cScsi_Tape * STp;
STp833drivers/scsi/st.cSTp = &(scsi_tapes[dev]);
STp835drivers/scsi/st.cif (!STp->in_use) {
STp841drivers/scsi/st.cif (STp->block_size == 0 && count > ST_BUFFER_SIZE)
STp844drivers/scsi/st.cif (STp->rw == ST_WRITING) {
STp848drivers/scsi/st.cSTp->rw = ST_READING;
STp852drivers/scsi/st.cif (STp->eof != ST_NOEOF)
STp854drivers/scsi/st.c(STp->buffer)->buffer_bytes);
STp856drivers/scsi/st.cif (((STp->buffer)->buffer_bytes == 0) &&
STp857drivers/scsi/st.cSTp->eof == ST_EOM_OK)  /* EOM or Blank Check */
STp860drivers/scsi/st.cSTp->rw = ST_READING;
STp862drivers/scsi/st.cSCpnt = allocate_device(NULL, (STp->device)->index, 1);
STp866drivers/scsi/st.cif ((STp->buffer)->buffer_bytes == 0 &&
STp867drivers/scsi/st.cSTp->eof == ST_NOEOF) {
STp871drivers/scsi/st.ccmd[1] = (STp->block_size != 0);
STp872drivers/scsi/st.cif (STp->block_size == 0)
STp875drivers/scsi/st.cblks = (STp->buffer)->buffer_blocks;
STp876drivers/scsi/st.cbytes = blks * STp->block_size;
STp885drivers/scsi/st.c(void *) cmd, (STp->buffer)->b_data,
STp886drivers/scsi/st.c(STp->buffer)->buffer_size,
STp889drivers/scsi/st.cif (SCpnt->request.dev == dev) sleep_on( &(STp->waiting) );
STp891drivers/scsi/st.c(STp->buffer)->read_pointer = 0;
STp892drivers/scsi/st.cSTp->eof_hit = 0;
STp894drivers/scsi/st.cif ((STp->buffer)->last_result_fatal) {
STp912drivers/scsi/st.cif (STp->block_size == 0 &&
STp917drivers/scsi/st.cif (STp->block_size == 0) {
STp920drivers/scsi/st.c(STp->buffer)->buffer_bytes = count - transfer;
STp929drivers/scsi/st.cSTp->eof = ST_EOM_OK;
STp930drivers/scsi/st.cif (STp->block_size == 0)
STp931drivers/scsi/st.c(STp->buffer)->buffer_bytes = count - transfer;
STp933drivers/scsi/st.c(STp->buffer)->buffer_bytes =
STp934drivers/scsi/st.c((STp->buffer)->buffer_blocks - transfer) *
STp935drivers/scsi/st.cSTp->block_size;
STp938drivers/scsi/st.c(STp->buffer)->buffer_bytes);
STp942drivers/scsi/st.cSTp->eof = ST_FM;
STp943drivers/scsi/st.cif (STp->block_size == 0)
STp944drivers/scsi/st.c(STp->buffer)->buffer_bytes = 0;
STp946drivers/scsi/st.c(STp->buffer)->buffer_bytes =
STp947drivers/scsi/st.c((STp->buffer)->buffer_blocks - transfer) *
STp948drivers/scsi/st.cSTp->block_size;
STp952drivers/scsi/st.cdev, (STp->buffer)->buffer_bytes, total);
STp968drivers/scsi/st.ctransfer = (STp->buffer)->last_result_fatal;
STp974drivers/scsi/st.c(STp->buffer)->buffer_bytes = bytes;
STp979drivers/scsi/st.cif ((STp->buffer)->buffer_bytes > 0) {
STp981drivers/scsi/st.cif (STp->eof != ST_NOEOF)
STp983drivers/scsi/st.c(STp->buffer)->buffer_bytes, count - total);
STp985drivers/scsi/st.ctransfer = (STp->buffer)->buffer_bytes < count - total ?
STp986drivers/scsi/st.c(STp->buffer)->buffer_bytes : count - total;
STp987drivers/scsi/st.cmemcpy_tofs(buf, (STp->buffer)->b_data +
STp988drivers/scsi/st.c(STp->buffer)->read_pointer,transfer);
STp992drivers/scsi/st.c(STp->buffer)->buffer_bytes -= transfer;
STp993drivers/scsi/st.c(STp->buffer)->read_pointer += transfer;
STp995drivers/scsi/st.celse if (STp->eof != ST_NOEOF) {
STp996drivers/scsi/st.cSTp->eof_hit = 1;
STp998drivers/scsi/st.cif (total == 0 && STp->eof == ST_FM)
STp999drivers/scsi/st.cSTp->eof = 0;
STp1000drivers/scsi/st.cif (total == 0 && STp->eof == ST_EOM_OK)
STp1005drivers/scsi/st.cif (STp->block_size == 0)
STp1027drivers/scsi/st.cScsi_Tape * STp;
STp1030drivers/scsi/st.cSTp = &(scsi_tapes[dev]);
STp1087drivers/scsi/st.cif (STp->write_prot)
STp1144drivers/scsi/st.cif (STp->write_prot)
STp1153drivers/scsi/st.cif ((STp->device)->scsi_level < SCSI_2) {
STp1179drivers/scsi/st.cif (STp->dirty || (STp->buffer)->buffer_bytes != 0)
STp1183drivers/scsi/st.c(arg < STp->min_block || arg > STp->max_block ||
STp1191drivers/scsi/st.cmemset((STp->buffer)->b_data, 0, 12);
STp1193drivers/scsi/st.c(STp->buffer)->b_data[2] = (arg & 7) << 4;
STp1195drivers/scsi/st.c(STp->buffer)->b_data[2] = 
STp1196drivers/scsi/st.cSTp->drv_buffer << 4;
STp1197drivers/scsi/st.c(STp->buffer)->b_data[3] = 8;     /* block descriptor length */
STp1199drivers/scsi/st.c(STp->buffer)->b_data[4] = arg;
STp1201drivers/scsi/st.c(STp->buffer)->b_data[4] = STp->density;
STp1205drivers/scsi/st.cltmp = STp->block_size;
STp1206drivers/scsi/st.c(STp->buffer)->b_data[9] = (ltmp >> 16);
STp1207drivers/scsi/st.c(STp->buffer)->b_data[10] = (ltmp >> 8);
STp1208drivers/scsi/st.c(STp->buffer)->b_data[11] = ltmp;
STp1213drivers/scsi/st.c(STp->buffer)->b_data[9] * 65536 +
STp1214drivers/scsi/st.c(STp->buffer)->b_data[10] * 256 +
STp1215drivers/scsi/st.c(STp->buffer)->b_data[11]);
STp1218drivers/scsi/st.c(STp->buffer)->b_data[4]);
STp1221drivers/scsi/st.c((STp->buffer)->b_data[2] >> 4) & 7);
STp1229drivers/scsi/st.cSCpnt = allocate_device(NULL, (STp->device)->index, 1);
STp1233drivers/scsi/st.c(void *) cmd, (void *) (STp->buffer)->b_data, ST_BLOCK_SIZE,
STp1236drivers/scsi/st.cif (SCpnt->request.dev == dev) sleep_on( &(STp->waiting) );
STp1238drivers/scsi/st.cioctl_result = (STp->buffer)->last_result_fatal;
STp1248drivers/scsi/st.cSTp->block_size = arg;
STp1250drivers/scsi/st.c(STp->buffer)->buffer_blocks =
STp1251drivers/scsi/st.cST_BUFFER_SIZE / STp->block_size;
STp1252drivers/scsi/st.c(STp->buffer)->buffer_size =
STp1253drivers/scsi/st.c(STp->buffer)->buffer_blocks * STp->block_size;
STp1256drivers/scsi/st.c(STp->buffer)->buffer_blocks = 1;
STp1257drivers/scsi/st.c(STp->buffer)->buffer_size = ST_BUFFER_SIZE;
STp1259drivers/scsi/st.c(STp->buffer)->buffer_bytes =
STp1260drivers/scsi/st.c(STp->buffer)->read_pointer = 0;
STp1263drivers/scsi/st.cSTp->drv_buffer = arg;
STp1265drivers/scsi/st.cSTp->density = arg;
STp1267drivers/scsi/st.cSTp->eof = ST_EOM_OK;
STp1268drivers/scsi/st.cSTp->eof_hit = 0;
STp1271drivers/scsi/st.cSTp->eof = ST_NOEOF;
STp1272drivers/scsi/st.cSTp->eof_hit = 0;
STp1292drivers/scsi/st.cScsi_Tape *STp;
STp1295drivers/scsi/st.cSTp = &(scsi_tapes[dev]);
STp1297drivers/scsi/st.cif (!STp->in_use) {
STp1331drivers/scsi/st.cmemcpy_tofs((char *)arg, (char *)(STp->buffer)->mt_status,
STp1350drivers/scsi/st.cSCpnt = allocate_device(NULL, (STp->device)->index, 1);
STp1354drivers/scsi/st.cif ((STp->device)->scsi_level < SCSI_2) {
STp1365drivers/scsi/st.c(void *) scmd, (void *) (STp->buffer)->b_data,
STp1368drivers/scsi/st.cif (SCpnt->request.dev == dev) sleep_on( &(STp->waiting) );
STp1370drivers/scsi/st.cif ((STp->buffer)->last_result_fatal != 0) {
STp1379drivers/scsi/st.cif ((STp->device)->scsi_level < SCSI_2)
STp1380drivers/scsi/st.cmt_pos.mt_blkno = ((STp->buffer)->b_data[0] << 16) 
STp1381drivers/scsi/st.c+ ((STp->buffer)->b_data[1] << 8) 
STp1382drivers/scsi/st.c+ (STp->buffer)->b_data[2];
STp1384drivers/scsi/st.cmt_pos.mt_blkno = ((STp->buffer)->b_data[4] << 24)
STp1385drivers/scsi/st.c+ ((STp->buffer)->b_data[5] << 16) 
STp1386drivers/scsi/st.c+ ((STp->buffer)->b_data[6] << 8) 
STp1387drivers/scsi/st.c+ (STp->buffer)->b_data[7];
STp1397drivers/scsi/st.creturn scsi_ioctl(STp->device, cmd_in, (void *) arg);