*/
 #define gen6_for_each_pde(pt, pd, start, length, temp, iter) \
        for (iter = gen6_pde_index(start); \
-            pt = (pd)->page_table[iter], length > 0 && iter < I915_PDES; \
+            length > 0 && iter < I915_PDES ? \
+                       (pt = (pd)->page_table[iter]), 1 : 0; \
             iter++, \
             temp = ALIGN(start+1, 1 << GEN6_PDE_SHIFT) - start, \
             temp = min_t(unsigned, temp, length), \
  */
 #define gen8_for_each_pde(pt, pd, start, length, temp, iter)           \
        for (iter = gen8_pde_index(start); \
-            pt = (pd)->page_table[iter], length > 0 && iter < I915_PDES;       \
+            length > 0 && iter < I915_PDES ? \
+                       (pt = (pd)->page_table[iter]), 1 : 0; \
             iter++,                            \
             temp = ALIGN(start+1, 1 << GEN8_PDE_SHIFT) - start,        \
             temp = min(temp, length),                                  \
 
 #define gen8_for_each_pdpe(pd, pdp, start, length, temp, iter) \
        for (iter = gen8_pdpe_index(start); \
-            pd = (pdp)->page_directory[iter], \
-            length > 0 && (iter < I915_PDPES_PER_PDP(dev)); \
+            length > 0 && (iter < I915_PDPES_PER_PDP(dev)) ? \
+                       (pd = (pdp)->page_directory[iter]), 1 : 0; \
             iter++,                            \
             temp = ALIGN(start+1, 1 << GEN8_PDPE_SHIFT) - start,       \
             temp = min(temp, length),                                  \
 
 #define gen8_for_each_pml4e(pdp, pml4, start, length, temp, iter)      \
        for (iter = gen8_pml4e_index(start);    \
-            pdp = (pml4)->pdps[iter], \
-            length > 0 && iter < GEN8_PML4ES_PER_PML4; \
+            length > 0 && iter < GEN8_PML4ES_PER_PML4 ? \
+                       (pdp = (pml4)->pdps[iter]), 1 : 0; \
             iter++,                            \
             temp = ALIGN(start+1, 1ULL << GEN8_PML4E_SHIFT) - start,   \
             temp = min(temp, length),                                  \