--- NVIDIA-Linux-x86-71.86.14-pkg1/usr/src/nv/nv.c	2010-07-13 06:21:32.000000000 +0200
+++ NVIDIA-Linux-x86-71.86.14-pkg1_modified/usr/src/nv/nv.c	2011-01-25 01:21:21.302673000 +0100
@@ -259,6 +259,7 @@
 int           nv_kern_mmap(struct file *, struct vm_area_struct *);
 unsigned int  nv_kern_poll(struct file *, poll_table *);
 int           nv_kern_ioctl(struct inode *, struct file *, unsigned int, unsigned long);
+long          nv_kern_unlocked_ioctl(struct file *, unsigned int, unsigned long);
 long          nv_kern_compat_ioctl(struct file *, unsigned int, unsigned long);
 void          nv_kern_isr_bh(unsigned long);
 #if !defined(NV_IRQ_HANDLER_T_PRESENT) || (NV_IRQ_HANDLER_T_ARGUMENT_COUNT == 3)
@@ -322,7 +323,7 @@
 static struct file_operations nv_fops = {
     .owner     = THIS_MODULE,
     .poll      = nv_kern_poll,
-    .ioctl     = nv_kern_ioctl,
+    .unlocked_ioctl = nv_kern_unlocked_ioctl,
 #if defined(NVCPU_X86_64) && defined(HAVE_COMPAT_IOCTL)
     .compat_ioctl = nv_kern_compat_ioctl,
 #endif
@@ -2598,6 +2599,15 @@
     return status;
 }
 
+long nv_kern_unlocked_ioctl(
+    struct file *file,
+    unsigned int cmd,
+    unsigned long i_arg
+)
+{
+    return nv_kern_ioctl(file->f_dentry->d_inode, file, cmd, i_arg);
+}
+
 long nv_kern_compat_ioctl(
     struct file *file,
     unsigned int cmd,

