@ -1365,7 +1365,7 @@ static int idetape_mtioctop(ide_drive_t *drive, short mt_op, int mt_count)
* supported here , and not in the corresponding block interface . Our own
* ide - tape ioctls are supported on both interfaces .
*/
static int idetape_chrdev_ioctl ( struct inode * inode , struct file * file ,
static long do_ idetape_chrdev_ioctl( struct file * file ,
unsigned int cmd , unsigned long arg )
{
struct ide_tape_obj * tape = file - > private_data ;
@ -1420,6 +1420,16 @@ static int idetape_chrdev_ioctl(struct inode *inode, struct file *file,
}
}
static long idetape_chrdev_ioctl ( struct file * file ,
unsigned int cmd , unsigned long arg )
{
long ret ;
lock_kernel ( ) ;
ret = do_idetape_chrdev_ioctl ( file , cmd , arg ) ;
unlock_kernel ( ) ;
return ret ;
}
/*
* Do a mode sense page 0 with block descriptor and if it succeeds set the tape
* block size with the reported value .
@ -1888,7 +1898,7 @@ static const struct file_operations idetape_fops = {
. owner = THIS_MODULE ,
. read = idetape_chrdev_read ,
. write = idetape_chrdev_write ,
. ioctl = idetape_chrdev_ioctl ,
. unlocked_ ioctl = idetape_chrdev_ioctl ,
. open = idetape_chrdev_open ,
. release = idetape_chrdev_release ,
} ;