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>

--
Cette révision appartient à :
Matthias Kaehlcke
2007-07-09 23:17:56 +02:00
révisé par Bartlomiej Zolnierkiewicz
Parent 1b9da32a28
révision f9383c4269
4 fichiers modifiés avec 29 ajouts et 28 suppressions

Voir le fichier

@@ -817,9 +817,9 @@ EXPORT_SYMBOL(ide_register_hw);
* Locks for IDE setting functionality
*/
DECLARE_MUTEX(ide_setting_sem);
DEFINE_MUTEX(ide_setting_mtx);
EXPORT_SYMBOL_GPL(ide_setting_sem);
EXPORT_SYMBOL_GPL(ide_setting_mtx);
/**
* ide_spin_wait_hwgroup - wait for group
@@ -1192,11 +1192,11 @@ int generic_ide_ioctl(ide_drive_t *drive, struct file *file, struct block_device
}
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:
@@ -1206,9 +1206,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;