aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/st.c
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2008-12-05 01:25:22 -0500
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-12-29 12:24:29 -0500
commit0944a721ba5c2535b615f06afd3aaa2f18c69cb9 (patch)
treed6a585e2c9fbd97f562b40801903bb35bfd86cc1 /drivers/scsi/st.c
parentffb4349499c00cd8ec90cb896599789cc00a7415 (diff)
[SCSI] st: convert test_ready to use st_scsi_kern_execute
This replaces st_do_scsi in test_ready (TEST_UNIT_READY) with st_scsi_kern_execute. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Acked-by: Kai Makisara <Kai.Makisara@kolumbus.fi> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/st.c')
-rw-r--r--drivers/scsi/st.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c
index 11341b717bba..c200496e90fe 100644
--- a/drivers/scsi/st.c
+++ b/drivers/scsi/st.c
@@ -874,21 +874,24 @@ static int test_ready(struct scsi_tape *STp, int do_wait)
874 int attentions, waits, max_wait, scode; 874 int attentions, waits, max_wait, scode;
875 int retval = CHKRES_READY, new_session = 0; 875 int retval = CHKRES_READY, new_session = 0;
876 unsigned char cmd[MAX_COMMAND_SIZE]; 876 unsigned char cmd[MAX_COMMAND_SIZE];
877 struct st_request *SRpnt = NULL; 877 struct st_request *SRpnt;
878 struct st_cmdstatus *cmdstatp = &STp->buffer->cmdstat; 878 struct st_cmdstatus *cmdstatp = &STp->buffer->cmdstat;
879 879
880 SRpnt = st_allocate_request(STp);
881 if (!SRpnt)
882 return STp->buffer->syscall_result;
883
880 max_wait = do_wait ? ST_BLOCK_SECONDS : 0; 884 max_wait = do_wait ? ST_BLOCK_SECONDS : 0;
881 885
882 for (attentions=waits=0; ; ) { 886 for (attentions=waits=0; ; ) {
883 memset((void *) &cmd[0], 0, MAX_COMMAND_SIZE); 887 memset((void *) &cmd[0], 0, MAX_COMMAND_SIZE);
884 cmd[0] = TEST_UNIT_READY; 888 cmd[0] = TEST_UNIT_READY;
885 SRpnt = st_do_scsi(SRpnt, STp, cmd, 0, DMA_NONE,
886 STp->long_timeout, MAX_READY_RETRIES, 1);
887 889
888 if (!SRpnt) { 890 retval = st_scsi_kern_execute(SRpnt, cmd, DMA_NONE, NULL, 0,
889 retval = (STp->buffer)->syscall_result; 891 STp->long_timeout,
892 MAX_READY_RETRIES);
893 if (retval)
890 break; 894 break;
891 }
892 895
893 if (cmdstatp->have_sense) { 896 if (cmdstatp->have_sense) {
894 897
@@ -932,8 +935,8 @@ static int test_ready(struct scsi_tape *STp, int do_wait)
932 break; 935 break;
933 } 936 }
934 937
935 if (SRpnt != NULL) 938 st_release_request(SRpnt);
936 st_release_request(SRpnt); 939
937 return retval; 940 return retval;
938} 941}
939 942