[Pkg-fglrx-devel] Bug#535653: fix for this problem

Henning Heinold heinold at inf.fu-berlin.de
Sun Aug 2 19:24:03 UTC 2009


Hi,

because of the leaked upcoming 9.8 version and someone made a diff to 9.7.
http://pastebin.com/f3e07714e

I think I found out which change helps to close this bug.

changing KCL_flush_tlb_one which is seen in the kernel stack trace seems to do it:

-void ATI_API_CALL KCL_flush_tlb_one(void *va)
+static void kcl_flush_tlb_one(void *va)
 {
     unsigned long *addr = (unsigned long *)va;
     __flush_tlb_one(*addr);
 -2315,11 +2372,12 @@
  * kernel <  2.6.27, on_each_cpu has 4 parameters.
  * kernel >= 2.6.27, on_each_cpu has 3 parameters (removed the "retry" parameter)
  */
-#if defined(__x86_64__) && (defined(__SMP__) || defined(CONFIG_SMP)) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25))
+#if ( defined(__x86_64__) && (defined(__SMP__) || defined(CONFIG_SMP)) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25))) || \
+    (!defined(__x86_64__) && (defined(__SMP__) || defined(CONFIG_SMP)) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29)))
 #   if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27))
-        on_each_cpu(KCL_flush_tlb_one, &va, 1, 1);
+        on_each_cpu(kcl_flush_tlb_one, &va, 1, 1);
 #   else
-        on_each_cpu(KCL_flush_tlb_one, &va, 1);
+        on_each_cpu(kcl_flush_tlb_one, &va, 1);
 #   endif
 #else

Bye Henning





More information about the Pkg-fglrx-devel mailing list