powerpc/iommu: Always release iommu_table in iommu_free_table()
At the moment iommu_free_table() only releases memory if the table was initialized for the platform code use, i.e. it had it_map initialized (which purpose is to track DMA memory space use). With dynamic DMA windows, we will need to be able to release iommu_table even if it was used for VFIO in which case it_map is NULL so does the patch. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
Родитель
ac9a58891a
Коммит
8aca92d82d
|
@ -713,9 +713,11 @@ void iommu_free_table(struct iommu_table *tbl, const char *node_name)
|
|||
unsigned long bitmap_sz;
|
||||
unsigned int order;
|
||||
|
||||
if (!tbl || !tbl->it_map) {
|
||||
printk(KERN_ERR "%s: expected TCE map for %s\n", __func__,
|
||||
node_name);
|
||||
if (!tbl)
|
||||
return;
|
||||
|
||||
if (!tbl->it_map) {
|
||||
kfree(tbl);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче