Loading drivers/iommu/io-pgtable-arm.c +5 −4 Original line number Diff line number Diff line Loading @@ -469,10 +469,6 @@ 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 Loading @@ -481,6 +477,10 @@ static void __arm_lpae_free_pgtable(struct arm_lpae_io_pgtable *data, int lvl, start = ptep; end = (void *)ptep + table_size; /* Only leaf entries at the last level */ if (lvl == ARM_LPAE_MAX_LEVELS - 1) goto end; while (ptep != end) { arm_lpae_iopte pte = *ptep++; Loading @@ -490,6 +490,7 @@ static void __arm_lpae_free_pgtable(struct arm_lpae_io_pgtable *data, int lvl, __arm_lpae_free_pgtable(data, lvl + 1, iopte_deref(pte, data)); } end: io_pgtable_free_pages_exact(&data->iop.cfg, data->iop.cookie, start, table_size); } Loading Loading
drivers/iommu/io-pgtable-arm.c +5 −4 Original line number Diff line number Diff line Loading @@ -469,10 +469,6 @@ 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 Loading @@ -481,6 +477,10 @@ static void __arm_lpae_free_pgtable(struct arm_lpae_io_pgtable *data, int lvl, start = ptep; end = (void *)ptep + table_size; /* Only leaf entries at the last level */ if (lvl == ARM_LPAE_MAX_LEVELS - 1) goto end; while (ptep != end) { arm_lpae_iopte pte = *ptep++; Loading @@ -490,6 +490,7 @@ static void __arm_lpae_free_pgtable(struct arm_lpae_io_pgtable *data, int lvl, __arm_lpae_free_pgtable(data, lvl + 1, iopte_deref(pte, data)); } end: io_pgtable_free_pages_exact(&data->iop.cfg, data->iop.cookie, start, table_size); } Loading