diff -urN NVIDIA-Linux-x86-1.0-9639-pkg1/usr/src/nv/nv-linux.h NVIDIA-Linux-x86-1.0-9639-pkg1-fixed/usr/src/nv/nv-linux.h
--- NVIDIA-Linux-x86-1.0-9639-pkg1/usr/src/nv/nv-linux.h	2007-04-17 05:57:16.000000000 +0200
+++ NVIDIA-Linux-x86-1.0-9639-pkg1-fixed/usr/src/nv/nv-linux.h	2007-09-03 10:24:56.000000000 +0200
@@ -528,7 +528,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-9639-pkg1/usr/src/nv/nv.c NVIDIA-Linux-x86-1.0-9639-pkg1-fixed/usr/src/nv/nv.c
--- NVIDIA-Linux-x86-1.0-9639-pkg1/usr/src/nv/nv.c	2007-04-17 05:57:16.000000000 +0200
+++ NVIDIA-Linux-x86-1.0-9639-pkg1-fixed/usr/src/nv/nv.c	2007-09-03 10:36:03.000000000 +0200
@@ -107,7 +107,7 @@
 
 static int nv_mmconfig_failure_detected = 0;
 
-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'
@@ -1423,8 +1423,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++)
     {
@@ -1450,8 +1449,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++)
     {
