--- 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);