powerpc/viobus: Free TCE table on device release
Release the TCE table as the XXX suggests, except on FW_FEATURE_ISERIES, where the tables are allocated globally and reused. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
edea8f6f48
commit
45848e0fc1
|
@ -1184,7 +1184,12 @@ EXPORT_SYMBOL(vio_unregister_driver);
|
|||
/* vio_dev refcount hit 0 */
|
||||
static void __devinit vio_dev_release(struct device *dev)
|
||||
{
|
||||
/* XXX should free TCE table */
|
||||
struct iommu_table *tbl = get_iommu_table_base(dev);
|
||||
|
||||
/* iSeries uses a common table for all vio devices */
|
||||
if (!firmware_has_feature(FW_FEATURE_ISERIES) && tbl)
|
||||
iommu_free_table(tbl, dev->of_node ?
|
||||
dev->of_node->full_name : dev_name(dev));
|
||||
of_node_put(dev->of_node);
|
||||
kfree(to_vio_dev(dev));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue