nvidia-drivers-331.38 updated: http://linuxru.org/blog-zenon/336

Fixed: nvidia: Unknown symbol acpi_os_wait_events_complete (err 0)
This commit is contained in:
Kolan Sh 2014-02-07 20:46:52 +04:00
parent 0250dbc171
commit 67db71355c
2 changed files with 40 additions and 0 deletions

View File

@ -0,0 +1,35 @@
--- a/kernel/nv-acpi.c
+++ b/kernel/nv-acpi.c
@@ -303,7 +307,10 @@ static int nv_acpi_remove(struct acpi_de
if (pNvAcpiObject->notify_handler_installed)
{
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
+ /* beginning with 3.13, acpi_remove_notify_handler() waits for events to finish */
NV_ACPI_OS_WAIT_EVENTS_COMPLETE();
+#endif
// remove event notifier
status = acpi_remove_notify_handler(device->handle, ACPI_DEVICE_NOTIFY, nv_acpi_event);
--- a/kernel/uvm/nvidia_uvm_linux.h
+++ b/kernel/uvm/nvidia_uvm_linux.h
@@ -405,11 +405,17 @@ typedef void irqreturn_t;
// not require the RCU's read lock on current->cred.
//
//
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5, 0)
+#define NV_KUID_TO_UID(value) (__kuid_val(value))
+#else
+#define NV_KUID_TO_UID(value) (value)
+#endif
+
#if defined(NV_TASK_STRUCT_HAS_CRED)
#define NV_CURRENT_EUID() \
- (((typeof(*current->cred) __force __kernel *)current->cred)->euid)
+ NV_KUID_TO_UID(((typeof(*current->cred) __force __kernel *)current->cred)->euid)
#else
-#define NV_CURRENT_EUID() (current->euid)
+#define NV_CURRENT_EUID() NV_KUID_TO_UID(current->euid)
#endif
#define NV_ATOMIC_SET(data,val) atomic_set(&(data), (val))

View File

@ -176,6 +176,11 @@ src_prepare() {
epatch "${FILESDIR}"/${PN}-331.13-pax-usercopy.patch
fi
# fix: Unknown symbol acpi_os_wait_events_complete (err 0) on linux-3.13
if kernel_is ge 3 13 0 ; then
epatch "${FILESDIR}"/acpi_os_wait_events_complete.patch
fi
# Allow user patches so they can support RC kernels and whatever else
epatch_user
}