ide: use mutex instead of ide_setting_sem semaphore in IDE driver
The IDE driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> --
This commit is contained in:

committed by
Bartlomiej Zolnierkiewicz

parent
1b9da32a28
commit
f9383c4269
@@ -1190,11 +1190,11 @@ static int idedisk_ioctl(struct inode *inode, struct file *file,
|
||||
return generic_ide_ioctl(drive, file, bdev, cmd, arg);
|
||||
|
||||
read_val:
|
||||
down(&ide_setting_sem);
|
||||
mutex_lock(&ide_setting_mtx);
|
||||
spin_lock_irqsave(&ide_lock, flags);
|
||||
err = *val;
|
||||
spin_unlock_irqrestore(&ide_lock, flags);
|
||||
up(&ide_setting_sem);
|
||||
mutex_unlock(&ide_setting_mtx);
|
||||
return err >= 0 ? put_user(err, (long __user *)arg) : err;
|
||||
|
||||
set_val:
|
||||
@@ -1204,9 +1204,9 @@ set_val:
|
||||
if (!capable(CAP_SYS_ADMIN))
|
||||
err = -EACCES;
|
||||
else {
|
||||
down(&ide_setting_sem);
|
||||
mutex_lock(&ide_setting_mtx);
|
||||
err = setfunc(drive, arg);
|
||||
up(&ide_setting_sem);
|
||||
mutex_unlock(&ide_setting_mtx);
|
||||
}
|
||||
}
|
||||
return err;
|
||||
|
Reference in New Issue
Block a user