Package: fglrx-modules-dkms <br> Version: 1:11-2-2<br> Severity: wishlist <br> Tags: patch <br> <p>Hello,</p><p>I think i&#39;m a bit early, but ...<br> </p>The following commits breaks non BKL kernel support:<br><a href="http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=4ba8216cd90560bc402f52076f64d8546e8aefcb">http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=4ba8216cd90560bc402f52076f64d8546e8aefcb</a> <br>
<br>Item is that include/linux/smp_lock.h is remove. DKMS fails because it can&#39;t find smp_lock.h<br><br>The following works for me on my laptop with different kernels <br>2.6.37 up to 2.6.38-1-amd64, but also some newest kernel like 2.6.38-1.slh.4-aptosid-amd64, kernels with and without BKL.<br>
Hardware is AMD TURION TL60 (2x AMD64), RADEON 2600 - wheezy/sid<br><br>A possible solution might be this.<br><br>--- drmP.h.orig    2011-02-02 19:39:00.000000000 +0100<br>+++ drmP.h    2011-03-28 00:48:08.338428122 +0100<br>
@@ -57,7 +57,11 @@<br> #include &lt;linux/pci.h&gt;<br> #include &lt;linux/version.h&gt;<br> #include &lt;linux/sched.h&gt;<br>+/* with no Big Kernel Lock and linux 2.6.38<br>+   and higher smp_lock.h is removed      */<br>
+#ifdef CONFIG_KERNEL_LOCK || LINUX_VERSION_CODE &lt; KERNEL_VERSION(2,6,38)<br> #include &lt;linux/smp_lock.h&gt;    /* For (un)lock_kernel */<br>+#endif<br> #include &lt;linux/mm.h&gt;<br> #include &lt;linux/pagemap.h&gt;<br>
 #if defined(__alpha__) || defined(__powerpc__)<br>--- firegl_public.c.orig    2011-03-18 23:34:00.000000000 +0100<br>+++ firegl_public.c    2011-03-28 00:51:41.330750446 +0100<br>@@ -116,7 +116,16 @@<br> #include &lt;linux/pci.h&gt;<br>
 #include &lt;linux/wait.h&gt;<br> #include &lt;linux/miscdevice.h&gt;<br>-#include &lt;linux/smp_lock.h&gt;<br>+<br>+/* with no Big Kernel Lock and linux 2.6.38<br>+   and higher is smp_lock.h removed.<br>+   instead of smp_lock.h is sched.h required    */<br>
+#ifdef CONFIG_KERNEL_LOCK || LINUX_VERSION_CODE &lt; KERNEL_VERSION(2,6,38)<br>+#include &lt;linux/smp_lock.h&gt;    /* For (un)lock_kernel */<br>+#else<br>+#include &lt;linux/sched.h&gt;<br>+#endif<br>+<br> // newer SuSE kernels need this<br>
 #include &lt;linux/highmem.h&gt;<br><br><br>please considder this patch<br><br>Cheers, Riichard<br><br><br><br><br><br><br><br>