From d1ce56c921eca1ac0ebf37f72eee3f1c04415986 Mon Sep 17 00:00:00 2001 From: FUJITA Tomonori Date: Fri, 5 Dec 2008 15:25:31 +0900 Subject: [PATCH] --- yaml --- r: 124667 b: refs/heads/master c: ccc607f6d29def18a4c2a4aab31435a784754a64 h: refs/heads/master i: 124665: ab6e566b0861dbe9946def67237054b39b8d8713 124663: c68a85b5f1a88088a1199688204d5297bb6b420a v: v3 --- [refs] | 2 +- trunk/drivers/scsi/st.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index d1ecedf82586..983d43735bad 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7a31ec3c1ff1ceeb3aebe25e13def5ac4edd5dc4 +refs/heads/master: ccc607f6d29def18a4c2a4aab31435a784754a64 diff --git a/trunk/drivers/scsi/st.c b/trunk/drivers/scsi/st.c index 23780e99ca98..7f3f317ee6ca 100644 --- a/trunk/drivers/scsi/st.c +++ b/trunk/drivers/scsi/st.c @@ -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);