diff -urN NVIDIA-Linux-x86-1.0-7185-pkg1/usr/src/nv/nv-linux.h NVIDIA-Linux-x86-1.0-7185-pkg1-fixed/usr/src/nv/nv-linux.h
--- NVIDIA-Linux-x86-1.0-7185-pkg1/usr/src/nv/nv-linux.h	2007-04-03 03:58:22.000000000 +0200
+++ NVIDIA-Linux-x86-1.0-7185-pkg1-fixed/usr/src/nv/nv-linux.h	2007-09-03 10:08:29.000000000 +0200
@@ -492,7 +492,7 @@
 #define NV_KMEM_CACHE_CREATE(kmem_cache, name, type)            \
     {                                                           \
         kmem_cache = kmem_cache_create(name, sizeof(type),      \
-                        0, 0, NULL, NULL);                      \
+                        0, 0, NULL);                            \
     } 
 
 #define NV_KMEM_CACHE_DESTROY(kmem_cache)                       \
diff -urN NVIDIA-Linux-x86-1.0-7185-pkg1/usr/src/nv/nv.c NVIDIA-Linux-x86-1.0-7185-pkg1-fixed/usr/src/nv/nv.c
--- NVIDIA-Linux-x86-1.0-7185-pkg1/usr/src/nv/nv.c	2007-04-03 03:58:22.000000000 +0200
+++ NVIDIA-Linux-x86-1.0-7185-pkg1-fixed/usr/src/nv/nv.c	2007-09-03 10:10:43.000000000 +0200
@@ -90,7 +90,7 @@
 int nv_use_cpa = 1;
 #endif
 
-static kmem_cache_t *nv_pte_t_cache = NULL;
+static struct kmem_cache *nv_pte_t_cache = NULL;
 
 // allow an easy way to convert all debug printfs related to events
 // back and forth between 'info' and 'errors'
@@ -1463,8 +1463,7 @@
         if (apm_nv_dev[i] != NULL) pm_unregister(apm_nv_dev[i]);
 #endif
 
-    if (unregister_chrdev(nv_major, "nvidia") < 0)
-        nv_printf(NV_DBG_ERRORS, "NVRM: unregister nv chrdev failed\n");
+    unregister_chrdev(nv_major, "nvidia");
 
     for (i = 0; i < num_nv_devices; i++)
     {
@@ -1488,8 +1487,7 @@
 
     nv_printf(NV_DBG_INFO, "NVRM: nvidia_exit_module\n");
 
-    if (unregister_chrdev(nv_major, "nvidia") < 0)
-        nv_printf(NV_DBG_ERRORS, "NVRM: unregister nv chrdev failed\n");
+    unregister_chrdev(nv_major, "nvidia");
 
     for (i = 0; i < num_nv_devices; i++)
     {
