[SCSI] st: convert st_int_ioctl to use st_scsi_kern_execute
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Fri, 5 Dec 2008 06:25:31 +0000 (15:25 +0900)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Mon, 29 Dec 2008 17:24:31 +0000 (11:24 -0600)
This replaces st_do_scsi in st_int_ioctl 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>
drivers/scsi/st.c

index 23780e9..7f3f317 100644 (file)
@@ -2852,12 +2852,15 @@ static int st_int_ioctl(struct scsi_tape *STp, unsigned int cmd_in, unsigned lon
                return (-ENOSYS);
        }
 
-       SRpnt = st_do_scsi(NULL, STp, cmd, datalen, direction,
-                          timeout, MAX_RETRIES, 1);
+       SRpnt = st_allocate_request(STp);
        if (!SRpnt)
                return (STp->buffer)->syscall_result;
 
-       ioctl_result = (STp->buffer)->syscall_result;
+       ioctl_result = st_scsi_kern_execute(SRpnt, cmd, direction,
+                                           STp->buffer->b_data, datalen,
+                                           timeout, MAX_RETRIES);
+       if (!ioctl_result)
+               ioctl_result = (STp->buffer)->syscall_result;
 
        if (!ioctl_result) {    /* SCSI command successful */
                st_release_request(SRpnt);