|
@@ -574,13 +574,12 @@ static size_t arm_lpae_split_blk_unmap(struct arm_lpae_io_pgtable *data,
|
|
|
return 0;
|
|
|
|
|
|
tablep = iopte_deref(pte, data);
|
|
|
+ } else if (unmap_idx >= 0) {
|
|
|
+ io_pgtable_tlb_add_flush(&data->iop, iova, size, size, true);
|
|
|
+ return size;
|
|
|
}
|
|
|
|
|
|
- if (unmap_idx < 0)
|
|
|
- return __arm_lpae_unmap(data, iova, size, lvl, tablep);
|
|
|
-
|
|
|
- io_pgtable_tlb_add_flush(&data->iop, iova, size, size, true);
|
|
|
- return size;
|
|
|
+ return __arm_lpae_unmap(data, iova, size, lvl, tablep);
|
|
|
}
|
|
|
|
|
|
static size_t __arm_lpae_unmap(struct arm_lpae_io_pgtable *data,
|