From: Christoph Hellwig Date: Sat, 11 Oct 2014 14:00:33 +0000 (+0200) Subject: osst: call scsi_set_medium_removal directly X-Git-Tag: v3.19-rc1~176^2~1^2~27 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=2b3b3d61e8517b34432d1c73242b6345c9a15ebe;p=karo-tx-linux.git osst: call scsi_set_medium_removal directly Signed-off-by: Christoph Hellwig Reviewed-by: Martin K. Petersen Reviewed-by: Hannes Reinecke --- diff --git a/drivers/scsi/osst.c b/drivers/scsi/osst.c index b6d63d636692..8c384648eef9 100644 --- a/drivers/scsi/osst.c +++ b/drivers/scsi/osst.c @@ -3327,19 +3327,18 @@ static int osst_write_frame(struct osst_tape * STp, struct osst_request ** aSRpn /* Lock or unlock the drive door. Don't use when struct osst_request allocated. */ static int do_door_lock(struct osst_tape * STp, int do_lock) { - int retval, cmd; + int retval; - cmd = do_lock ? SCSI_IOCTL_DOORLOCK : SCSI_IOCTL_DOORUNLOCK; #if DEBUG printk(OSST_DEB_MSG "%s:D: %socking drive door.\n", tape_name(STp), do_lock ? "L" : "Unl"); #endif - retval = scsi_ioctl(STp->device, cmd, NULL); - if (!retval) { + + retval = scsi_set_medium_removal(STp->device, + do_lock ? SCSI_REMOVAL_PREVENT : SCSI_REMOVAL_ALLOW); + if (!retval) STp->door_locked = do_lock ? ST_LOCKED_EXPLICIT : ST_UNLOCKED; - } - else { + else STp->door_locked = ST_LOCK_FAILS; - } return retval; }