Lines Matching refs:SRpnt

203 static void osst_analyze_sense(struct osst_request *SRpnt, struct st_cmdstatus *s)  in osst_analyze_sense()  argument
206 const u8 *sense = SRpnt->sense; in osst_analyze_sense()
208 s->have_sense = scsi_normalize_sense(SRpnt->sense, in osst_analyze_sense()
235 static int osst_chk_result(struct osst_tape * STp, struct osst_request * SRpnt) in osst_chk_result() argument
238 int result = SRpnt->result; in osst_chk_result()
239 u8 * sense = SRpnt->sense, scode; in osst_chk_result()
249 osst_analyze_sense(SRpnt, cmdstatp); in osst_chk_result()
259 SRpnt->cmd[0], SRpnt->cmd[1], SRpnt->cmd[2], in osst_chk_result()
260 SRpnt->cmd[3], SRpnt->cmd[4], SRpnt->cmd[5]); in osst_chk_result()
265 SRpnt->sense, SCSI_SENSE_BUFFERSIZE); in osst_chk_result()
275 SRpnt->cmd[0] != MODE_SENSE && in osst_chk_result()
276 SRpnt->cmd[0] != TEST_UNIT_READY)) { /* Abnormal conditions for tape */ in osst_chk_result()
280 SRpnt->sense, SCSI_SENSE_BUFFERSIZE); in osst_chk_result()
305 if (SRpnt->cmd[0] == READ_6) in osst_chk_result()
307 else if (SRpnt->cmd[0] == WRITE_6) in osst_chk_result()
325 struct osst_request *SRpnt = req->end_io_data; in osst_end_async() local
326 struct osst_tape *STp = SRpnt->stp; in osst_end_async()
327 struct rq_map_data *mdata = &SRpnt->stp->buffer->map_data; in osst_end_async()
329 STp->buffer->cmdstat.midlevel_result = SRpnt->result = req->errors; in osst_end_async()
333 if (SRpnt->waiting) in osst_end_async()
334 complete(SRpnt->waiting); in osst_end_async()
336 if (SRpnt->bio) { in osst_end_async()
338 blk_rq_unmap_user(SRpnt->bio); in osst_end_async()
355 static int osst_execute(struct osst_request *SRpnt, const unsigned char *cmd, in osst_execute() argument
361 struct rq_map_data *mdata = &SRpnt->stp->buffer->map_data; in osst_execute()
366 req = blk_get_request(SRpnt->stp->device->request_queue, write, GFP_KERNEL); in osst_execute()
373 SRpnt->bio = NULL; in osst_execute()
398 SRpnt->bio = req->bio; in osst_execute()
410 req->sense = SRpnt->sense; in osst_execute()
414 req->end_io_data = SRpnt; in osst_execute()
426 static struct osst_request * osst_do_scsi(struct osst_request *SRpnt, struct osst_tape *STp, in osst_do_scsi() argument
448 if (SRpnt == NULL) { in osst_do_scsi()
449 SRpnt = osst_allocate_request(); in osst_do_scsi()
450 if (SRpnt == NULL) { in osst_do_scsi()
459 SRpnt->stp = STp; in osst_do_scsi()
465 (STp->buffer)->last_SRpnt = SRpnt; in osst_do_scsi()
469 SRpnt->waiting = waiting; in osst_do_scsi()
480 memcpy(SRpnt->cmd, cmd, sizeof(SRpnt->cmd)); in osst_do_scsi()
484 if (osst_execute(SRpnt, cmd, COMMAND_SIZE(cmd[0]), direction, bp, bytes, in osst_do_scsi()
490 SRpnt->waiting = NULL; in osst_do_scsi()
491 STp->buffer->syscall_result = osst_chk_result(STp, SRpnt); in osst_do_scsi()
505 return SRpnt; in osst_do_scsi()
753 struct osst_request * SRpnt; in osst_wait_ready() local
768 SRpnt = osst_do_scsi(*aSRpnt, STp, cmd, 0, DMA_NONE, STp->timeout, MAX_RETRIES, 1); in osst_wait_ready()
769 *aSRpnt = SRpnt; in osst_wait_ready()
770 if (!SRpnt) return (-EBUSY); in osst_wait_ready()
773 (( SRpnt->sense[2] == 2 && SRpnt->sense[12] == 4 && in osst_wait_ready()
774 (SRpnt->sense[13] == 1 || SRpnt->sense[13] == 8) ) || in osst_wait_ready()
775 ( SRpnt->sense[2] == 6 && SRpnt->sense[12] == 0x28 && in osst_wait_ready()
776 SRpnt->sense[13] == 0 ) )) { in osst_wait_ready()
789 SRpnt = osst_do_scsi(SRpnt, STp, cmd, 0, DMA_NONE, STp->timeout, MAX_RETRIES, 1); in osst_wait_ready()
791 *aSRpnt = SRpnt; in osst_wait_ready()
800 STp->buffer->syscall_result, SRpnt->sense[0], SRpnt->sense[2], in osst_wait_ready()
801 SRpnt->sense[12], SRpnt->sense[13]); in osst_wait_ready()
817 struct osst_request * SRpnt; in osst_wait_for_medium() local
829 SRpnt = osst_do_scsi(*aSRpnt, STp, cmd, 0, DMA_NONE, STp->timeout, MAX_RETRIES, 1); in osst_wait_for_medium()
830 *aSRpnt = SRpnt; in osst_wait_for_medium()
831 if (!SRpnt) return (-EBUSY); in osst_wait_for_medium()
834 SRpnt->sense[2] == 2 && SRpnt->sense[12] == 0x3a && SRpnt->sense[13] == 0 ) { in osst_wait_for_medium()
847 SRpnt = osst_do_scsi(SRpnt, STp, cmd, 0, DMA_NONE, STp->timeout, MAX_RETRIES, 1); in osst_wait_for_medium()
849 *aSRpnt = SRpnt; in osst_wait_for_medium()
853 if ( STp->buffer->syscall_result && SRpnt->sense[2] != 2 && in osst_wait_for_medium()
854 SRpnt->sense[12] != 4 && SRpnt->sense[13] == 1) { in osst_wait_for_medium()
858 STp->buffer->syscall_result, SRpnt->sense[0], SRpnt->sense[2], in osst_wait_for_medium()
859 SRpnt->sense[12], SRpnt->sense[13]); in osst_wait_for_medium()
886 struct osst_request * SRpnt; in osst_flush_drive_buffer() local
899 SRpnt = osst_do_scsi(*aSRpnt, STp, cmd, 0, DMA_NONE, STp->timeout, MAX_RETRIES, 1); in osst_flush_drive_buffer()
900 *aSRpnt = SRpnt; in osst_flush_drive_buffer()
901 if (!SRpnt) return (-EBUSY); in osst_flush_drive_buffer()
903 if ((SRpnt->sense[2] & 0x0f) == 2 && SRpnt->sense[12] == 4) { in osst_flush_drive_buffer()
904 if (SRpnt->sense[13] == 8) { in osst_flush_drive_buffer()
974 struct osst_request * SRpnt; in osst_recover_wait_frame() local
990 SRpnt = osst_do_scsi(*aSRpnt, STp, cmd, 0, DMA_NONE, STp->timeout, in osst_recover_wait_frame()
995 if (STp->buffer->syscall_result && (SRpnt->sense[2] & 0x0f) != 2) { in osst_recover_wait_frame()
1007 SRpnt = osst_do_scsi(SRpnt, STp, cmd, 20, DMA_FROM_DEVICE, STp->timeout, in osst_recover_wait_frame()
1033 struct osst_request * SRpnt; in osst_read_frame() local
1053 SRpnt = osst_do_scsi(*aSRpnt, STp, cmd, OS_FRAME_SIZE, DMA_FROM_DEVICE, in osst_read_frame()
1055 *aSRpnt = SRpnt; in osst_read_frame()
1056 if (!SRpnt) in osst_read_frame()
1071 SRpnt->sense[0], SRpnt->sense[1], in osst_read_frame()
1072 SRpnt->sense[2], SRpnt->sense[3], in osst_read_frame()
1073 SRpnt->sense[4], SRpnt->sense[5], in osst_read_frame()
1074 SRpnt->sense[6], SRpnt->sense[7]); in osst_read_frame()
1104 struct osst_request * SRpnt ; in osst_initiate_read() local
1129 SRpnt = osst_do_scsi(*aSRpnt, STp, cmd, 0, DMA_NONE, STp->timeout, MAX_RETRIES, 1); in osst_initiate_read()
1130 *aSRpnt = SRpnt; in osst_initiate_read()
1472 struct osst_request * SRpnt = * aSRpnt; in osst_read_back_buffer_and_rewrite() local
1510 SRpnt = osst_do_scsi(SRpnt, STp, cmd, OS_FRAME_SIZE, DMA_FROM_DEVICE, in osst_read_back_buffer_and_rewrite()
1513 if ((STp->buffer)->syscall_result || !SRpnt) { in osst_read_back_buffer_and_rewrite()
1516 *aSRpnt = SRpnt; in osst_read_back_buffer_and_rewrite()
1526 *aSRpnt = SRpnt; in osst_read_back_buffer_and_rewrite()
1553 SRpnt = * aSRpnt; in osst_read_back_buffer_and_rewrite()
1582 SRpnt = osst_do_scsi(SRpnt, STp, cmd, OS_FRAME_SIZE, DMA_TO_DEVICE, in osst_read_back_buffer_and_rewrite()
1598 SRpnt = osst_do_scsi(SRpnt, STp, cmd, 0, DMA_NONE, in osst_read_back_buffer_and_rewrite()
1613 SRpnt = osst_do_scsi(SRpnt, STp, cmd, 0, DMA_NONE, STp->timeout, in osst_read_back_buffer_and_rewrite()
1616 if (SRpnt->sense[2] == 2 && SRpnt->sense[12] == 4 && in osst_read_back_buffer_and_rewrite()
1617 (SRpnt->sense[13] == 1 || SRpnt->sense[13] == 8)) { in osst_read_back_buffer_and_rewrite()
1632 *aSRpnt = SRpnt; in osst_read_back_buffer_and_rewrite()
1634 if ((SRpnt->sense[ 2] & 0x0f) == 13 && in osst_read_back_buffer_and_rewrite()
1635 SRpnt->sense[12] == 0 && in osst_read_back_buffer_and_rewrite()
1636 SRpnt->sense[13] == 2) { in osst_read_back_buffer_and_rewrite()
1641 i = ((SRpnt->sense[3] << 24) | in osst_read_back_buffer_and_rewrite()
1642 (SRpnt->sense[4] << 16) | in osst_read_back_buffer_and_rewrite()
1643 (SRpnt->sense[5] << 8) | in osst_read_back_buffer_and_rewrite()
1644 SRpnt->sense[6] ) - new_frame; in osst_read_back_buffer_and_rewrite()
1671 struct osst_request * SRpnt; in osst_reposition_and_retry() local
1718 SRpnt = osst_do_scsi(*aSRpnt, STp, cmd, OS_FRAME_SIZE, DMA_TO_DEVICE, in osst_reposition_and_retry()
1720 *aSRpnt = SRpnt; in osst_reposition_and_retry()
1723 if ((SRpnt->sense[ 2] & 0x0f) == 13 && in osst_reposition_and_retry()
1724 SRpnt->sense[12] == 0 && in osst_reposition_and_retry()
1725 SRpnt->sense[13] == 2) { in osst_reposition_and_retry()
1772 struct osst_request * SRpnt = * aSRpnt; in osst_write_error_recovery() local
1781 if ((SRpnt->sense[ 2] & 0x0f) != 3 in osst_write_error_recovery()
1782 || SRpnt->sense[12] != 12 in osst_write_error_recovery()
1783 || SRpnt->sense[13] != 0) { in osst_write_error_recovery()
1786 SRpnt->sense[2], SRpnt->sense[12], SRpnt->sense[13]); in osst_write_error_recovery()
1790 frame = (SRpnt->sense[3] << 24) | in osst_write_error_recovery()
1791 (SRpnt->sense[4] << 16) | in osst_write_error_recovery()
1792 (SRpnt->sense[5] << 8) | in osst_write_error_recovery()
1793 SRpnt->sense[6]; in osst_write_error_recovery()
1794 skip = SRpnt->sense[9]; in osst_write_error_recovery()
2156 struct osst_request * SRpnt = * aSRpnt; in osst_set_retries() local
2176 SRpnt = osst_do_scsi(SRpnt, STp, cmd, cmd[4], DMA_TO_DEVICE, STp->timeout, 0, 1); in osst_set_retries()
2177 *aSRpnt = SRpnt; in osst_set_retries()
2687 struct osst_request * SRpnt = * aSRpnt; in osst_configure_onstream() local
2716 SRpnt = osst_do_scsi(SRpnt, STp, cmd, cmd[4], DMA_FROM_DEVICE, STp->timeout, 0, 1); in osst_configure_onstream()
2717 if (SRpnt == NULL) { in osst_configure_onstream()
2723 *aSRpnt = SRpnt; in osst_configure_onstream()
2753 SRpnt = osst_do_scsi(SRpnt, STp, cmd, cmd[4], DMA_TO_DEVICE, STp->timeout, 0, 1); in osst_configure_onstream()
2754 *aSRpnt = SRpnt; in osst_configure_onstream()
2767 SRpnt = * aSRpnt; in osst_configure_onstream()
2793 SRpnt = osst_do_scsi(SRpnt, STp, cmd, cmd[4], DMA_TO_DEVICE, STp->timeout, 0, 1); in osst_configure_onstream()
2794 *aSRpnt = SRpnt; in osst_configure_onstream()
2808 SRpnt = osst_do_scsi(SRpnt, STp, cmd, cmd[4], DMA_FROM_DEVICE, STp->timeout, 0, 1); in osst_configure_onstream()
2809 *aSRpnt = SRpnt; in osst_configure_onstream()
2828 SRpnt = osst_do_scsi(SRpnt, STp, cmd, cmd[4], DMA_FROM_DEVICE, STp->timeout, 0, 1); in osst_configure_onstream()
2829 *aSRpnt = SRpnt; in osst_configure_onstream()
2886 struct osst_request * SRpnt; in osst_get_frame_position() local
2902 SRpnt = osst_do_scsi(*aSRpnt, STp, scmd, 20, DMA_FROM_DEVICE, in osst_get_frame_position()
2904 if (!SRpnt) { in osst_get_frame_position()
2908 *aSRpnt = SRpnt; in osst_get_frame_position()
2911 result = ((SRpnt->sense[2] & 0x0f) == 3) ? -EIO : -EINVAL; /* 3: Write Error */ in osst_get_frame_position()
2918 memcpy (mysense, SRpnt->sense, 16); in osst_get_frame_position()
2922 SRpnt = osst_do_scsi(SRpnt, STp, scmd, 20, DMA_FROM_DEVICE, in osst_get_frame_position()
2927 SRpnt->sense[2],SRpnt->sense[12],SRpnt->sense[13]); in osst_get_frame_position()
2930 memcpy (SRpnt->sense, mysense, 16); in osst_get_frame_position()
2970 struct osst_request * SRpnt; in osst_set_frame_position() local
3001 SRpnt = osst_do_scsi(*aSRpnt, STp, scmd, 0, DMA_NONE, STp->long_timeout, in osst_set_frame_position()
3003 if (!SRpnt) in osst_set_frame_position()
3005 *aSRpnt = SRpnt; in osst_set_frame_position()
3057 struct osst_request * SRpnt = *aSRpnt; in osst_flush_write_buffer() local
3062 if (SRpnt == (STp->buffer)->last_SRpnt) in osst_flush_write_buffer()
3067 *aSRpnt = SRpnt = NULL; in osst_flush_write_buffer()
3069 } else if (SRpnt) in osst_flush_write_buffer()
3139 SRpnt = osst_do_scsi(*aSRpnt, STp, cmd, transfer, DMA_TO_DEVICE, in osst_flush_write_buffer()
3141 *aSRpnt = SRpnt; in osst_flush_write_buffer()
3142 if (!SRpnt) in osst_flush_write_buffer()
3149 name, SRpnt->sense[0], SRpnt->sense[2], in osst_flush_write_buffer()
3150 SRpnt->sense[12], SRpnt->sense[13]); in osst_flush_write_buffer()
3152 if ((SRpnt->sense[0] & 0x70) == 0x70 && in osst_flush_write_buffer()
3153 (SRpnt->sense[2] & 0x40) && /* FIXME - SC-30 drive doesn't assert EOM bit */ in osst_flush_write_buffer()
3154 (SRpnt->sense[2] & 0x0f) == NO_SENSE) { in osst_flush_write_buffer()
3247 struct osst_request * SRpnt; in osst_write_frame() local
3296 SRpnt = osst_do_scsi(*aSRpnt, STp, cmd, OS_FRAME_SIZE, DMA_TO_DEVICE, STp->timeout, in osst_write_frame()
3298 if (!SRpnt) in osst_write_frame()
3300 *aSRpnt = SRpnt; in osst_write_frame()
3308 if ((SRpnt->sense[0] & 0x70) == 0x70 && in osst_write_frame()
3309 (SRpnt->sense[2] & 0x40)) { in osst_write_frame()
3310 if ((SRpnt->sense[2] & 0x0f) == VOLUME_OVERFLOW) in osst_write_frame()
3374 struct osst_request * SRpnt = NULL; in osst_write() local
3458 retval = osst_flush_buffer(STp, &SRpnt, 0); in osst_write()
3473 osst_reset_header(STp, &SRpnt); in osst_write()
3478 if ((STp->fast_open && osst_verify_position(STp, &SRpnt)) || in osst_write()
3522 if (SRpnt) printk(KERN_ERR "%s:A: Not supposed to have SRpnt at line %d\n", name, __LINE__); in osst_write()
3586 i = osst_write_frame(STp, &SRpnt, 1); in osst_write()
3618 if (SRpnt != NULL) { in osst_write()
3619 osst_release_request(SRpnt); in osst_write()
3620 SRpnt = NULL; in osst_write()
3667 i = osst_write_frame(STp, &SRpnt, 0); in osst_write()
3672 SRpnt = NULL; /* Prevent releasing this request! */ in osst_write()
3681 if (SRpnt != NULL) osst_release_request(SRpnt); in osst_write()
3697 struct osst_request * SRpnt = NULL; in osst_read() local
3746 retval = osst_flush_buffer(STp, &SRpnt, 0); in osst_read()
3792 special = osst_get_logical_frame(STp, &SRpnt, STp->frame_seq_number, 0); in osst_read()
3866 if (SRpnt != NULL) osst_release_request(SRpnt); in osst_read()
4062 struct osst_request * SRpnt = * aSRpnt; in osst_int_ioctl() local
4090 ioctl_result = osst_space_over_filemarks_forward_fast(STp, &SRpnt, cmd_in, arg); in osst_int_ioctl()
4092 ioctl_result = osst_space_over_filemarks_forward_slow(STp, &SRpnt, cmd_in, arg); in osst_int_ioctl()
4104 ioctl_result = osst_space_over_filemarks_backward(STp, &SRpnt, cmd_in, arg); in osst_int_ioctl()
4126 ioctl_result = osst_seek_logical_blk(STp, &SRpnt, logical_blk_num); in osst_int_ioctl()
4172 ioctl_result = osst_flush_write_buffer(STp, &SRpnt); in osst_int_ioctl()
4180 ioctl_result |= osst_write_filemark(STp, &SRpnt); in osst_int_ioctl()
4256 if ((osst_position_tape_and_confirm(STp, &SRpnt, STp->eod_frame_ppos) < 0) || in osst_int_ioctl()
4257 (osst_get_logical_frame(STp, &SRpnt, -1, 0) < 0)) { in osst_int_ioctl()
4268 ioctl_result = osst_set_frame_position(STp, &SRpnt, STp->eod_frame_ppos, 0); in osst_int_ioctl()
4276 ioctl_result = osst_reset_header(STp, &SRpnt); in osst_int_ioctl()
4277 i = osst_write_eod(STp, &SRpnt); in osst_int_ioctl()
4279 i = osst_position_tape_and_confirm(STp, &SRpnt, STp->eod_frame_ppos); in osst_int_ioctl()
4332 SRpnt = osst_do_scsi(SRpnt, STp, cmd, datalen, direction, timeout, MAX_RETRIES, 1); in osst_int_ioctl()
4336 if (!SRpnt) { in osst_int_ioctl()
4371 ioctl_result = osst_seek_logical_blk(STp, &SRpnt, STp->logical_blk_num-1); in osst_int_ioctl()
4394 ioctl_result = osst_position_tape_and_confirm(STp, &SRpnt, STp->first_data_ppos); in osst_int_ioctl()
4400 if (osst_position_tape_and_confirm(STp, &SRpnt, STp->first_data_ppos) < 0) in osst_int_ioctl()
4406 if (osst_position_tape_and_confirm(STp, &SRpnt, STp->eod_frame_ppos) < 0) in osst_int_ioctl()
4419 } else if (SRpnt) { /* SCSI command was not completely successful. */ in osst_int_ioctl()
4420 if (SRpnt->sense[2] & 0x40) { in osst_int_ioctl()
4427 if ((SRpnt->sense[2] & 0x0f) == BLANK_CHECK) in osst_int_ioctl()
4430 if (cmd_in == MTLOAD && osst_wait_for_medium(STp, &SRpnt, 60)) in osst_int_ioctl()
4431 ioctl_result = osst_wait_ready(STp, &SRpnt, 5 * 60, OSST_WAIT_POSITION_COMPLETE); in osst_int_ioctl()
4433 *aSRpnt = SRpnt; in osst_int_ioctl()
4445 struct osst_request * SRpnt = NULL; in __os_scsi_tape_open() local
4548 SRpnt = osst_do_scsi(NULL, STp, cmd, 0, DMA_NONE, STp->timeout, MAX_RETRIES, 1); in __os_scsi_tape_open()
4549 if (!SRpnt) { in __os_scsi_tape_open()
4553 if ((SRpnt->sense[0] & 0x70) == 0x70 && in __os_scsi_tape_open()
4554 (SRpnt->sense[2] & 0x0f) == NOT_READY && in __os_scsi_tape_open()
4555 SRpnt->sense[12] == 4 ) { in __os_scsi_tape_open()
4557 printk(OSST_DEB_MSG "%s:D: Unit not ready, cause %x\n", name, SRpnt->sense[13]); in __os_scsi_tape_open()
4563 if (SRpnt->sense[13] == 2) { /* initialize command required (LOAD) */ in __os_scsi_tape_open()
4568 SRpnt = osst_do_scsi(SRpnt, STp, cmd, 0, DMA_NONE, in __os_scsi_tape_open()
4571 osst_wait_ready(STp, &SRpnt, (SRpnt->sense[13]==1?15:3) * 60, 0); in __os_scsi_tape_open()
4573 if ((SRpnt->sense[0] & 0x70) == 0x70 && in __os_scsi_tape_open()
4574 (SRpnt->sense[2] & 0x0f) == UNIT_ATTENTION) { /* New media? */ in __os_scsi_tape_open()
4585 SRpnt = osst_do_scsi(SRpnt, STp, cmd, 0, DMA_NONE, in __os_scsi_tape_open()
4587 if ((SRpnt->sense[0] & 0x70) != 0x70 || in __os_scsi_tape_open()
4588 (SRpnt->sense[2] & 0x0f) != UNIT_ATTENTION) in __os_scsi_tape_open()
4614 !SRpnt->result && SRpnt->sense[0] == 0) { in __os_scsi_tape_open()
4622 SRpnt = osst_do_scsi(SRpnt, STp, cmd, cmd[4], DMA_FROM_DEVICE, STp->timeout, 0, 1); in __os_scsi_tape_open()
4639 if (STp->header_ok && i == osst_get_frame_position(STp, &SRpnt)) { in __os_scsi_tape_open()
4653 osst_release_request(SRpnt); in __os_scsi_tape_open()
4666 (SRpnt->sense[2] != 2 || SRpnt->sense[12] != 0x3A) ) { in __os_scsi_tape_open()
4685 SRpnt = osst_do_scsi(SRpnt, STp, cmd, cmd[4], DMA_TO_DEVICE, STp->timeout, 0, 1); in __os_scsi_tape_open()
4694 SRpnt = osst_do_scsi(SRpnt, STp, cmd, 0, DMA_NONE, in __os_scsi_tape_open()
4696 if ((SRpnt->sense[0] & 0x70) != 0x70 || in __os_scsi_tape_open()
4697 (SRpnt->sense[2] & 0x0f) == NOT_READY) in __os_scsi_tape_open()
4700 if ((SRpnt->sense[2] & 0x0f) == UNIT_ATTENTION) { in __os_scsi_tape_open()
4721 if (osst_wait_ready(STp, &SRpnt, 15 * 60, 0)) /* FIXME - not allowed with NOBLOCK */ in __os_scsi_tape_open()
4726 (SRpnt->sense[0] & 0x70) == 0x70 && in __os_scsi_tape_open()
4727 (SRpnt->sense[2] & 0x0f) == NOT_READY && in __os_scsi_tape_open()
4728 SRpnt->sense[12] == 0x3a) { /* Check ASC */ in __os_scsi_tape_open()
4732 osst_release_request(SRpnt); in __os_scsi_tape_open()
4733 SRpnt = NULL; in __os_scsi_tape_open()
4743 osst_configure_onstream(STp, &SRpnt); in __os_scsi_tape_open()
4790 osst_analyze_headers(STp, &SRpnt); in __os_scsi_tape_open()
4792 osst_release_request(SRpnt); in __os_scsi_tape_open()
4793 SRpnt = NULL; in __os_scsi_tape_open()
4798 if (SRpnt != NULL) in __os_scsi_tape_open()
4799 osst_release_request(SRpnt); in __os_scsi_tape_open()
4828 struct osst_request * SRpnt = NULL; in os_scsi_tape_flush() local
4836 result = osst_flush_write_buffer(STp, &SRpnt); in os_scsi_tape_flush()
4850 result = osst_write_trailer(STp, &SRpnt, !(STp->rew_at_close)); in os_scsi_tape_flush()
4861 result = osst_flush_buffer(STp, &SRpnt, 0); /* this is the default path */ in os_scsi_tape_flush()
4863 result = cross_eof(STp, &SRpnt, 0); in os_scsi_tape_flush()
4875 !(result = cross_eof(STp, &SRpnt, 1))) || in os_scsi_tape_flush()
4886 result2 = osst_position_tape_and_confirm(STp, &SRpnt, STp->first_data_ppos); in os_scsi_tape_flush()
4891 if (SRpnt) osst_release_request(SRpnt); in os_scsi_tape_flush()
4944 struct osst_request * SRpnt = NULL; in osst_ioctl() local
5035 i = osst_flush_buffer(STp, &SRpnt, i); in osst_ioctl()
5082 i = osst_write_trailer(STp, &SRpnt, in osst_ioctl()
5121 if ((i = osst_int_ioctl(STp, &SRpnt, MTREW, 0)) < 0 /*|| in osst_ioctl()
5140 i = osst_set_frame_position(STp, &SRpnt, mtc.mt_count, 0); in osst_ioctl()
5142 i = osst_seek_sector(STp, &SRpnt, mtc.mt_count); in osst_ioctl()
5155 cross_eof(STp, &SRpnt, 0); in osst_ioctl()
5162 retval = osst_int_ioctl(STp, &SRpnt, mtc.mt_op, mtc.mt_count); in osst_ioctl()
5171 if ((i = osst_flush_buffer(STp, &SRpnt, 0)) < 0) { in osst_ioctl()
5248 blk = osst_get_frame_position(STp, &SRpnt); in osst_ioctl()
5250 blk = osst_get_sector(STp, &SRpnt); in osst_ioctl()
5261 if (SRpnt) osst_release_request(SRpnt); in osst_ioctl()
5270 if (SRpnt) osst_release_request(SRpnt); in osst_ioctl()