diff --git a/drivers/mxc/gpu-viv/hal/kernel/arch/gc_hal_kernel_hardware.c b/drivers/mxc/gpu-viv/hal/kernel/arch/gc_hal_kernel_hardware.c
index 3722dbcb63ef0d14f44652a071745c7758842a97..7778da4999dfdca3dbe6224712f7b4720478938e 100644
--- a/drivers/mxc/gpu-viv/hal/kernel/arch/gc_hal_kernel_hardware.c
+++ b/drivers/mxc/gpu-viv/hal/kernel/arch/gc_hal_kernel_hardware.c
@@ -11727,6 +11727,11 @@ gckHARDWARE_QueryIdle(
                                          0x00664,
                                          &address));
 
+        gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                         Hardware->core,
+                                         0x00664,
+                                         &address));
+
         /* Test if address is inside the last WAIT/LINK sequence. */
         if ((address < Hardware->lastWaitLink) ||
             (address >= (gctUINT64)Hardware->lastWaitLink + 16))
@@ -11735,6 +11740,11 @@ gckHARDWARE_QueryIdle(
             break;
         }
 
+        gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                         Hardware->core,
+                                         0x00668,
+                                         &dmaLow));
+
         gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
                                          Hardware->core,
                                          0x00668,