- fix building with linux 4.6 auto/th/xorg-driver-video-nvidia-legacy-304xx-304.131-3
authorJan Rękorajski <baggins@pld-linux.org>
Sun, 19 Jun 2016 16:38:04 +0000 (18:38 +0200)
committerJan Rękorajski <baggins@pld-linux.org>
Sun, 19 Jun 2016 16:38:04 +0000 (18:38 +0200)
- rel 3

linux-4.6.patch [new file with mode: 0644]
xorg-driver-video-nvidia-legacy-304xx.spec

diff --git a/linux-4.6.patch b/linux-4.6.patch
new file mode 100644 (file)
index 0000000..632fa22
--- /dev/null
@@ -0,0 +1,50 @@
+--- NVIDIA-Linux-x86_64-304.131-no-compat32/kernel/nv-mlock.c~ 2015-11-09 06:43:39.000000000 +0100
++++ NVIDIA-Linux-x86_64-304.131-no-compat32/kernel/nv-mlock.c  2016-06-19 18:34:23.039063568 +0200
+@@ -49,7 +49,11 @@
+     }
+     down_read(&mm->mmap_sem);
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0))
++    ret = get_user_pages((unsigned long)address,
++#else
+     ret = get_user_pages(current, mm, (unsigned long)address,
++#endif
+             page_count, write, force, user_pages, NULL);
+     up_read(&mm->mmap_sem);
+     pinned = ret;
+@@ -62,7 +66,11 @@
+     else if (pinned < page_count)
+     {
+         for (i = 0; i < pinned; i++)
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0))
++            put_page(user_pages[i]);
++#else
+             page_cache_release(user_pages[i]);
++#endif
+         os_free_mem(user_pages);
+         return RM_ERR_INVALID_ADDRESS;
+     }
+@@ -88,7 +88,11 @@
+             {
+                 pci_unmap_page(dev, pte_array[j],
+                         PAGE_SIZE, PCI_DMA_BIDIRECTIONAL);
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0))
++                put_page(user_pages[j]);
++#else
+                 page_cache_release(user_pages[j]);
++#endif
+             }
+             os_free_mem(user_pages);
+             return RM_ERR_OPERATING_SYSTEM;
+@@ -122,7 +126,11 @@
+                 PAGE_SIZE, PCI_DMA_BIDIRECTIONAL);
+         if (write)
+             set_page_dirty_lock(user_pages[i]);
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0))
++        put_page(user_pages[i]);
++#else
+         page_cache_release(user_pages[i]);
++#endif
+     }
+     os_free_mem(user_pages);
index 0c3f46d..bf0304a 100644 (file)
@@ -25,7 +25,7 @@ exit 1
 
 %define                no_install_post_check_so 1
 
-%define                rel     2
+%define                rel     3
 %define                mname   nvidia-legacy-304xx
 %define                pname   xorg-driver-video-%{mname}
 Summary:       Linux Drivers for nVidia GeForce/Quadro Chips
@@ -47,7 +47,8 @@ Source4:      10-nvidia.conf
 Source5:       10-nvidia-modules.conf
 Patch0:                X11-driver-nvidia-GL.patch
 Patch1:                X11-driver-nvidia-desktop.patch
-Patch3:                linux-4.0.patch
+Patch2:                linux-4.0.patch
+Patch3:                linux-4.6.patch
 URL:           http://www.nvidia.com/object/unix.html
 BuildRequires: rpmbuild(macros) >= 1.701
 %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}}
@@ -247,6 +248,7 @@ rm -rf NVIDIA-Linux-x86*-%{version}*
 %endif
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 %patch3 -p1
 
 %build
This page took 0.231367 seconds and 4 git commands to generate.