gpu : Prior the cancel_delayed_work_sync to gckOS_AcquireMutex
author杜坤明 <dkm@rockchip.com>
Mon, 28 Nov 2011 09:21:15 +0000 (17:21 +0800)
committer杜坤明 <dkm@rockchip.com>
Mon, 28 Nov 2011 09:21:15 +0000 (17:21 +0800)
drivers/staging/rk29/vivante/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c

index 841a39b183a896d1c5116b709defd811b9bf0b78..1d5c8db7774b5332c324905f3049a620089878d5 100755 (executable)
@@ -3112,7 +3112,19 @@ gckHARDWARE_SetPowerManagementState(
     default:
         break;
     }
-   
+    
+// dkm: gcdENABLE_LONG_IDLE_POWEROFF
+#if gcdENABLE_LONG_IDLE_POWEROFF
+    if(gcvPOWER_IDLE_BROADCAST==curState) {
+        cancel_delayed_work_sync(&poweroff_work);
+        schedule_delayed_work(&poweroff_work, 5*HZ);
+    } else if(gcvPOWER_OFF_BROADCAST==curState) {
+        // NULL
+    } else {
+        cancel_delayed_work_sync(&poweroff_work);
+    }
+#endif
+
     /* Get current process and thread IDs. */
     gcmkONERROR(gckOS_GetProcessID(&process));
     gcmkONERROR(gckOS_GetThreadID(&thread));
@@ -3169,18 +3181,6 @@ gckHARDWARE_SetPowerManagementState(
     flag  = flags[Hardware->chipPowerState][State];
     clock = clocks[State];
 
-// dkm: gcdENABLE_LONG_IDLE_POWEROFF
-#if gcdENABLE_LONG_IDLE_POWEROFF
-    if(gcvPOWER_IDLE_BROADCAST==curState) {
-        cancel_delayed_work_sync(&poweroff_work);
-        schedule_delayed_work(&poweroff_work, 5*HZ);
-    } else if(gcvPOWER_OFF_BROADCAST==curState) {
-        // NULL
-    } else {
-        cancel_delayed_work_sync(&poweroff_work);
-    }
-#endif
-
     if ((flag == 0) || (Hardware->settingPowerState))
     {
 // dkm: gcdENABLE_LONG_IDLE_POWEROFF