diff options
Diffstat (limited to 'drivers/ide/ide-disk.c')
| -rw-r--r-- | drivers/ide/ide-disk.c | 8 | 
1 files changed, 4 insertions, 4 deletions
| diff --git a/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c index dc2175c81f5e..b1304a7f3e0a 100644 --- a/drivers/ide/ide-disk.c +++ b/drivers/ide/ide-disk.c | |||
| @@ -1190,11 +1190,11 @@ static int idedisk_ioctl(struct inode *inode, struct file *file, | |||
| 1190 | return generic_ide_ioctl(drive, file, bdev, cmd, arg); | 1190 | return generic_ide_ioctl(drive, file, bdev, cmd, arg); | 
| 1191 | 1191 | ||
| 1192 | read_val: | 1192 | read_val: | 
| 1193 | down(&ide_setting_sem); | 1193 | mutex_lock(&ide_setting_mtx); | 
| 1194 | spin_lock_irqsave(&ide_lock, flags); | 1194 | spin_lock_irqsave(&ide_lock, flags); | 
| 1195 | err = *val; | 1195 | err = *val; | 
| 1196 | spin_unlock_irqrestore(&ide_lock, flags); | 1196 | spin_unlock_irqrestore(&ide_lock, flags); | 
| 1197 | up(&ide_setting_sem); | 1197 | mutex_unlock(&ide_setting_mtx); | 
| 1198 | return err >= 0 ? put_user(err, (long __user *)arg) : err; | 1198 | return err >= 0 ? put_user(err, (long __user *)arg) : err; | 
| 1199 | 1199 | ||
| 1200 | set_val: | 1200 | set_val: | 
| @@ -1204,9 +1204,9 @@ set_val: | |||
| 1204 | if (!capable(CAP_SYS_ADMIN)) | 1204 | if (!capable(CAP_SYS_ADMIN)) | 
| 1205 | err = -EACCES; | 1205 | err = -EACCES; | 
| 1206 | else { | 1206 | else { | 
| 1207 | down(&ide_setting_sem); | 1207 | mutex_lock(&ide_setting_mtx); | 
| 1208 | err = setfunc(drive, arg); | 1208 | err = setfunc(drive, arg); | 
| 1209 | up(&ide_setting_sem); | 1209 | mutex_unlock(&ide_setting_mtx); | 
| 1210 | } | 1210 | } | 
| 1211 | } | 1211 | } | 
| 1212 | return err; | 1212 | return err; | 
