From: FUJITA Tomonori Date: Fri, 5 Dec 2008 06:25:24 +0000 (+0900) Subject: [SCSI] st: convert do_load_unload to use st_scsi_kern_execute X-Git-Tag: v2.6.29-rc1~555^2~35 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=15c920a6dc65ea0117bc5d4fd025d4b2eab13d59;p=linux-2.6-omap-h63xx.git [SCSI] st: convert do_load_unload to use st_scsi_kern_execute This replaces st_do_scsi in do_load_unload (START STOP) with st_scsi_kern_execute. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c index c60972ffcfc..2cfa17a2eac 100644 --- a/drivers/scsi/st.c +++ b/drivers/scsi/st.c @@ -2515,13 +2515,16 @@ static int do_load_unload(struct scsi_tape *STp, struct file *filp, int load_cod printk(ST_DEB_MSG "%s: Loading tape.\n", name); ); - SRpnt = st_do_scsi(NULL, STp, cmd, 0, DMA_NONE, - timeout, MAX_RETRIES, 1); + SRpnt = st_allocate_request(STp); if (!SRpnt) - return (STp->buffer)->syscall_result; + return STp->buffer->syscall_result; + + retval = st_scsi_kern_execute(SRpnt, cmd, DMA_NONE, NULL, 0, timeout, + MAX_RETRIES); + if (retval) + goto out; retval = (STp->buffer)->syscall_result; - st_release_request(SRpnt); if (!retval) { /* SCSI command successful */ @@ -2540,6 +2543,8 @@ static int do_load_unload(struct scsi_tape *STp, struct file *filp, int load_cod STps = &(STp->ps[STp->partition]); STps->drv_file = STps->drv_block = (-1); } +out: + st_release_request(SRpnt); return retval; }