OpenCloudOS-Kernel/arch/powerpc/platforms
Nishanth Aravamudan 4ad04e5987 powerpc/iommu: Remove IOMMU device references via bus notifier
After d905c5df9a ("PPC: POWERNV: move iommu_add_device earlier"), the
refcnt on the kobject backing the IOMMU group for a PCI device is
elevated by each call to pci_dma_dev_setup_pSeriesLP() (via
set_iommu_table_base_and_group). When we go to dlpar a multi-function
PCI device out:

        iommu_reconfig_notifier ->
                iommu_free_table ->
                        iommu_group_put
                        BUG_ON(tbl->it_group)

We trip this BUG_ON, because there are still references on the table, so
it is not freed. Fix this by moving the powernv bus notifier to common
code and calling it for both powernv and pseries.

Fixes: d905c5df9a ("PPC: POWERNV: move iommu_add_device earlier")
Signed-off-by: Nishanth Aravamudan <nacc@linux.vnet.ibm.com>
Tested-by: Nishanth Aravamudan <nacc@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2015-03-04 13:19:33 +11:00
..
8xx powerpc/8xx: Remove Kconfig symbol FADS 2014-11-07 18:10:46 -06:00
40x powerpc: make of_device_ids const 2014-09-25 23:14:46 +10:00
44x powerpc/44x/Akebono: Remove select of IBM_EMAC_RGMII_WOL 2014-12-29 15:45:44 +11:00
52xx Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
82xx powerpc: platforms: 82xx: drop owner assignment from platform_drivers 2014-10-20 16:20:11 +02:00
83xx PowerPC-83xx: Deletion of an unnecessary check before the function call "of_node_put" 2015-01-29 23:16:19 -06:00
85xx powerpc/85xx: Add support for Emerson/Artesyn MVME2500. 2015-01-29 22:57:42 -06:00
86xx powerpc: make of_device_ids const 2014-09-25 23:14:46 +10:00
512x powerpc: call of_clk_init() from time_init() 2015-01-20 10:09:02 -08:00
amigaone lib/scatterlist: make ARCH_HAS_SG_CHAIN an actual Kconfig 2014-08-08 15:57:26 -07:00
cell powerpc updates for 3.20 2015-02-11 18:15:38 -08:00
chrp powerpc: Convert power off logic to pm_power_off 2014-11-03 12:12:51 +11:00
embedded6xx powerpc: Remove some unused functions 2015-01-28 15:00:24 +11:00
maple powerpc: Remove superfluous bootmem includes 2014-11-10 09:59:26 +11:00
pasemi powerpc: platforms: pasemi: drop owner assignment from platform_drivers 2014-10-20 16:20:12 +02:00
powermac powerpc/powermac: Convert PCI to use generic config accessors 2015-01-30 16:14:43 -06:00
powernv powerpc/iommu: Remove IOMMU device references via bus notifier 2015-03-04 13:19:33 +11:00
ps3 powerpc/ps3: Write highmem info to repository 2015-01-22 17:31:21 +11:00
pseries powerpc/iommu: Remove IOMMU device references via bus notifier 2015-03-04 13:19:33 +11:00
Kconfig powerpc: Remove platforms/wsp and associated pieces 2014-06-11 16:35:38 +10:00
Kconfig.cputype Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux 2014-10-11 20:34:00 -04:00
Makefile powerpc: Remove platforms/wsp and associated pieces 2014-06-11 16:35:38 +10:00
fsl_uli1575.c of/irq: Refactor interrupt-map parsing 2013-10-24 11:43:04 +01:00