diff options
author | Hannes Reinecke <hare@suse.de> | 2020-02-13 16:32:07 +0100 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2020-02-24 20:54:25 +0100 |
commit | 30f6d494cc78beebbeb845ead9dd668f2644be26 (patch) | |
tree | e162aaa7ca806a65a3a282f5de835dc031f43f6b | |
parent | scsi: ch: synchronize ch_probe() and ch_open() (diff) | |
download | linux-30f6d494cc78beebbeb845ead9dd668f2644be26.tar.xz linux-30f6d494cc78beebbeb845ead9dd668f2644be26.zip |
scsi: ch: remove ch_mutex()
ch_mutex() was introduced with a mechanical conversion, but as we now have
correct locking we can remove it altogether.
Link: https://lore.kernel.org/r/20200213153207.123357-4-hare@suse.de
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r-- | drivers/scsi/ch.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/drivers/scsi/ch.c b/drivers/scsi/ch.c index 7fdb636339e4..cb74ab1ae5a4 100644 --- a/drivers/scsi/ch.c +++ b/drivers/scsi/ch.c @@ -44,7 +44,6 @@ MODULE_LICENSE("GPL"); MODULE_ALIAS_CHARDEV_MAJOR(SCSI_CHANGER_MAJOR); MODULE_ALIAS_SCSI_DEVICE(TYPE_MEDIUM_CHANGER); -static DEFINE_MUTEX(ch_mutex); static int init = 1; module_param(init, int, 0444); MODULE_PARM_DESC(init, \ @@ -591,26 +590,22 @@ ch_open(struct inode *inode, struct file *file) scsi_changer *ch; int minor = iminor(inode); - mutex_lock(&ch_mutex); spin_lock(&ch_index_lock); ch = idr_find(&ch_index_idr, minor); if (ch == NULL || !kref_get_unless_zero(&ch->ref)) { spin_unlock(&ch_index_lock); - mutex_unlock(&ch_mutex); return -ENXIO; } spin_unlock(&ch_index_lock); if (scsi_device_get(ch->device)) { kref_put(&ch->ref, ch_destroy); - mutex_unlock(&ch_mutex); return -ENXIO; } /* Synchronize with ch_probe() */ mutex_lock(&ch->lock); file->private_data = ch; mutex_unlock(&ch->lock); - mutex_unlock(&ch_mutex); return 0; } |