summaryrefslogtreecommitdiff
path: root/x11
diff options
context:
space:
mode:
authorAlexey Dokuchaev <danfe@FreeBSD.org>2005-02-24 05:28:21 +0000
committerAlexey Dokuchaev <danfe@FreeBSD.org>2005-02-24 05:28:21 +0000
commit733a52902b826f533d7404ccdbfa9a6379c03831 (patch)
tree7101ffebf539a8a39351f1017099211243d28a99 /x11
parent- update to 1.062 (diff)
It turns out there's a call to vm_page_wakeup() that does not hold the
object lock across the call. It shows up with INVARIANTS turned on. PR: ports/77750 Submitted by: Frank Mayhar <frank(at)exit.com>
Notes
Notes: svn path=/head/; revision=129642
Diffstat (limited to 'x11')
-rw-r--r--x11/nvidia-driver/Makefile4
-rw-r--r--x11/nvidia-driver/files/patch-src::nvidia_subr.c18
2 files changed, 20 insertions, 2 deletions
diff --git a/x11/nvidia-driver/Makefile b/x11/nvidia-driver/Makefile
index f3f208ff8180..b0c5ae93d9e8 100644
--- a/x11/nvidia-driver/Makefile
+++ b/x11/nvidia-driver/Makefile
@@ -7,7 +7,7 @@
PORTNAME= nvidia-driver
PORTVERSION= 1.0.${NVVERSION}
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= x11
MASTER_SITES= http://download.nvidia.com/freebsd/1.0-${NVVERSION}/ \
ftp://download.nvidia.com/freebsd/1.0-${NVVERSION}/ \
@@ -66,7 +66,7 @@ pre-everything::
@${ECHO_MSG} "Define WITH_VM86_INT10CALL to use VM86 interface for INT10 calls (video BIOS)"
.endif
.if !defined(WITH_ACPI)
- @${ECHO_MSG} "Define WITH_ACPI to enable support for ACPI Power Management (5.X only!)"
+ @${ECHO_MSG} "Define WITH_ACPI to enable support for ACPI Power Management (5.x/6.x only!)"
.endif
.if !defined(WITHOUT_LINUX)
@${ECHO_MSG} "Define WITHOUT_LINUX to build without support for Linux compatibility"
diff --git a/x11/nvidia-driver/files/patch-src::nvidia_subr.c b/x11/nvidia-driver/files/patch-src::nvidia_subr.c
new file mode 100644
index 000000000000..7432e9861e6b
--- /dev/null
+++ b/x11/nvidia-driver/files/patch-src::nvidia_subr.c
@@ -0,0 +1,18 @@
+--- src/nvidia_subr.c.orig Sat Feb 19 13:19:54 2005
++++ src/nvidia_subr.c Sat Feb 19 13:22:47 2005
+@@ -1115,10 +1115,15 @@
+
+ #if __FreeBSD_version < 500000
+ vm_page_wire(m);
++#else
++ VM_OBJECT_LOCK(m->object);
+ #endif
+ vm_page_lock_queues();
+ vm_page_wakeup(m);
+ vm_page_unlock_queues();
++#if __FreeBSD_version >= 500000
++ VM_OBJECT_UNLOCK(m->object);
++#endif
+ }
+
+ at->object = object;