36 lines
1.2 KiB
Diff
36 lines
1.2 KiB
Diff
|
--- 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))
|