--- cat11.1/common/lib/modules/fglrx/build_mod/firegl_public.c	2011-01-17 15:59:26.000000000 +0100
+++ cat11.1/common/lib/modules/fglrx/build_mod/firegl_public.c	2011-02-01 18:39:08.902218444 +0100
@@ -848,7 +848,12 @@
      * happen much less frequent then without this workaround.
      */
     if (state == PM_EVENT_SUSPEND)
-        acquire_console_sem();
+      
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
+        console_lock();
+#else
+	acquire_console_sem();
+#endif
 
     if (firegl_cail_powerdown(privdev, state))
         ret = -EIO;
@@ -870,8 +875,13 @@
     }
 
     if (state == PM_EVENT_SUSPEND)
-        release_console_sem();
-
+      
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
+        console_unlock();
+#else
+	release_console_sem();
+#endif
+	
     KCL_DEBUG_TRACEOUT(FN_FIREGL_ACPI, ret, NULL);  
     
     return ret;
@@ -894,7 +904,12 @@
     if (PMSG_EVENT(pdev->dev.power.power_state) == 0) return 0;
 
     if (PMSG_EVENT(pdev->dev.power.power_state) == PM_EVENT_SUSPEND)
-        acquire_console_sem();
+      
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
+        console_lock();
+#else
+	acquire_console_sem();
+#endif
 
 #ifdef FIREGL_USWC_SUPPORT
     // Restore the PAT after resuming from S3 or S4.
@@ -919,7 +934,12 @@
     firegl_cail_powerup(privdev);
 
     if (PMSG_EVENT(pdev->dev.power.power_state) == PM_EVENT_SUSPEND)
-        release_console_sem();
+      
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
+        console_unlock();
+#else
+	release_console_sem();
+#endif
 
     PMSG_EVENT(pdev->dev.power.power_state) = 0;
     KCL_DEBUG_TRACEOUT(FN_FIREGL_ACPI, 0, NULL);