video: rockchip: vop: 3399: vop lite lut and edp output is 8 bit
[firefly-linux-kernel-4.4.55.git] / drivers / iommu / io-pgtable-arm.c
index 7df97777662d4d8a9284a8f2cae4cc0e8891210a..dad768caa9c51e0d18ada9d9d12920b3bf48303f 100644 (file)
@@ -405,17 +405,18 @@ static void __arm_lpae_free_pgtable(struct arm_lpae_io_pgtable *data, int lvl,
        arm_lpae_iopte *start, *end;
        unsigned long table_size;
 
-       /* Only leaf entries at the last level */
-       if (lvl == ARM_LPAE_MAX_LEVELS - 1)
-               return;
-
        if (lvl == ARM_LPAE_START_LVL(data))
                table_size = data->pgd_size;
        else
                table_size = 1UL << data->pg_shift;
 
        start = ptep;
-       end = (void *)ptep + table_size;
+
+       /* Only leaf entries at the last level */
+       if (lvl == ARM_LPAE_MAX_LEVELS - 1)
+               end = ptep;
+       else
+               end = (void *)ptep + table_size;
 
        while (ptep != end) {
                arm_lpae_iopte pte = *ptep++;