Signed-off-by: Tim Small <tim@xxxxxxxxxxx> --- drivers/scsi/sr.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c index 2de44cc..93111b1 100644 --- a/drivers/scsi/sr.c +++ b/drivers/scsi/sr.c @@ -547,8 +547,6 @@ static int sr_block_ioctl(struct block_device *bdev, fmode_t mode, unsigned cmd, void __user *argp = (void __user *)arg; int ret; - mutex_lock(&sr_mutex); - /* * Send SCSI addressing ioctls directly to mid level, send other * ioctls to cdrom/block level. @@ -556,13 +554,12 @@ static int sr_block_ioctl(struct block_device *bdev, fmode_t mode, unsigned cmd, switch (cmd) { case SCSI_IOCTL_GET_IDLUN: case SCSI_IOCTL_GET_BUS_NUMBER: - ret = scsi_ioctl(sdev, cmd, argp); - goto out; + return scsi_ioctl(sdev, cmd, argp); } ret = cdrom_ioctl(&cd->cdi, bdev, mode, cmd, arg); if (ret != -ENOSYS) - goto out; + return ret; /* * ENODEV means that we didn't recognise the ioctl, or that we @@ -573,12 +570,9 @@ static int sr_block_ioctl(struct block_device *bdev, fmode_t mode, unsigned cmd, ret = scsi_nonblockable_ioctl(sdev, cmd, argp, (mode & FMODE_NDELAY) != 0); if (ret != -ENODEV) - goto out; - ret = scsi_ioctl(sdev, cmd, argp); + return ret; -out: - mutex_unlock(&sr_mutex); - return ret; + return scsi_ioctl(sdev, cmd, argp); } static unsigned int sr_block_check_events(struct gendisk *disk, -- 2.1.3 -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html