msm: kgsl: use del_timer_sync() to cancel the idle timer

Otherwise there's a chance the idle timer can fire after
we're suspended/stopped on SMP systems.

Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
diff --git a/drivers/gpu/msm/adreno.c b/drivers/gpu/msm/adreno.c
index 70e196e..b2c8ae3 100644
--- a/drivers/gpu/msm/adreno.c
+++ b/drivers/gpu/msm/adreno.c
@@ -564,7 +564,7 @@
 	struct adreno_device *adreno_dev = ADRENO_DEVICE(device);
 
 	kgsl_pwrctrl_irq(device, KGSL_PWRFLAGS_OFF);
-	del_timer(&device->idle_timer);
+	del_timer_sync(&device->idle_timer);
 
 	adreno_dev->drawctxt_active = NULL;
 
diff --git a/drivers/gpu/msm/adreno_postmortem.c b/drivers/gpu/msm/adreno_postmortem.c
index 76db7fa..bd1a4aa 100644
--- a/drivers/gpu/msm/adreno_postmortem.c
+++ b/drivers/gpu/msm/adreno_postmortem.c
@@ -794,7 +794,7 @@
 
 	}
 	/* Disable the idle timer so we don't get interrupted */
-	del_timer(&device->idle_timer);
+	del_timer_sync(&device->idle_timer);
 
 	/* Turn off napping to make sure we have the clocks full
 	   attention through the following process */
diff --git a/drivers/gpu/msm/kgsl.c b/drivers/gpu/msm/kgsl.c
index 856972c..e4add0d 100644
--- a/drivers/gpu/msm/kgsl.c
+++ b/drivers/gpu/msm/kgsl.c
@@ -315,7 +315,7 @@
 		mutex_lock(&device->mutex);
 	}
 	/* Don't let the timer wake us during suspended sleep. */
-	del_timer(&device->idle_timer);
+	del_timer_sync(&device->idle_timer);
 	switch (device->state) {
 		case KGSL_STATE_INIT:
 			break;
diff --git a/drivers/gpu/msm/z180.c b/drivers/gpu/msm/z180.c
index 2d3f5bd..d56785d 100644
--- a/drivers/gpu/msm/z180.c
+++ b/drivers/gpu/msm/z180.c
@@ -576,7 +576,7 @@
 {
 	z180_idle(device, KGSL_TIMEOUT_DEFAULT);
 
-	del_timer(&device->idle_timer);
+	del_timer_sync(&device->idle_timer);
 
 	kgsl_mmu_stop(device);