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
..
vdso32
powerpc: 32 bit getcpu VDSO function uses 64 bit instructions
2014-11-27 09:42:12 +11:00
vdso64
powerpc/booke64: Use SPRG7 for VDSO
2014-03-19 19:57:14 -05:00
.gitignore
align.c
powerpc: Remove double braces in alignment code.
2014-11-10 09:59:32 +11:00
asm-offsets.c
powerpc/kvm: Create proper names for the kvm_host_state PMU fields
2014-12-29 15:45:55 +11:00
audit.c
btext.c
powerpc/btext: Fix CONFIG_PPC_EARLY_DEBUG_BOOTX on ppc32
2013-08-27 16:01:23 +10:00
cacheinfo.c
powerpc: use %*pb[l] to print bitmaps including cpumasks and nodemasks
2015-02-13 21:21:36 -08:00
cacheinfo.h
compat_audit.c
cpu_setup_6xx.S
cpu_setup_44x.S
cpu_setup_fsl_booke.S
powerpc/booke: Restrict SPE exception handlers to e200/e500 cores
2014-09-22 10:11:31 +02:00
cpu_setup_pa6t.S
cpu_setup_power.S
powerpc/powernv: Enable POWER8 doorbell IPIs
2014-06-11 17:05:12 +10:00
cpu_setup_ppc970.S
cputable.c
powerpc: Add machine_check cpu function for e300c3 cpus
2015-01-29 22:57:40 -06:00
crash.c
arch,powerpc: Convert smp_mb__*()
2014-04-18 14:20:41 +02:00
crash_dump.c
powerpc: Remove superfluous bootmem includes
2014-11-10 09:59:26 +11:00
dbell.c
powerpc: Replace __get_cpu_var uses
2014-11-03 12:12:32 +11:00
dma-iommu.c
powerpc/iommu: Rename iommu_[un]map_sg functions
2014-11-18 11:30:01 +01:00
dma-swiotlb.c
powerpc/64: Limit ZONE_DMA32 to 4GiB in swiotlb_detect_4g()
2014-09-03 17:58:22 -05:00
dma.c
powerpc: Only do dynamic DMA zone limits on platforms that need it
2014-10-17 09:21:44 +11:00
eeh.c
powerpc/eeh: Allow to set maximal frozen times
2015-01-23 14:02:54 +11:00
eeh_cache.c
powerpc/eeh: Replace pr_warning() with pr_warn()
2014-08-05 15:41:34 +10:00
eeh_dev.c
powerpc/eeh: Replace pr_warning() with pr_warn()
2014-08-05 15:41:34 +10:00
eeh_driver.c
powerpc/eeh: Allow to set maximal frozen times
2015-01-23 14:02:54 +11:00
eeh_event.c
powerpc/powernv: Fix killed EEH event
2014-06-11 17:04:33 +10:00
eeh_pe.c
powerpc/eeh: Introduce flag EEH_PE_REMOVED
2015-01-23 14:02:53 +11:00
eeh_sysfs.c
powerpc/eeh: Fix PE state format
2014-11-27 09:32:58 +11:00
entry_32.S
powerpc: Remove old compile time disabled syscall tracing code
2015-02-02 14:51:32 +11:00
entry_64.S
powerpc: Remove old compile time disabled syscall tracing code
2015-02-02 14:51:32 +11:00
epapr_hcalls.S
powerpc: Add paravirt idle loop for 64-bit Book-E
2013-03-13 14:19:36 -05:00
epapr_paravirt.c
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
2014-06-10 18:54:22 -07:00
exceptions-64e.S
powerpc/booke: Revert SPE/AltiVec common defines for interrupt numbers
2014-09-22 10:11:31 +02:00
exceptions-64s.S
powernv/powerpc: Add winkle support for offline cpus
2014-12-15 10:46:41 +11:00
fadump.c
powerpc/fadump: Fix endianess issues in firmware assisted dump handling
2014-10-30 16:52:46 +11:00
firmware.c
fpu.S
powerpc: Don't corrupt transactional state when using FP/VMX in kernel
2014-01-15 13:59:11 +11:00
fsl_booke_entry_mapping.S
powerpc: enable the relocatable support for the fsl booke 32bit kernel
2014-01-09 17:52:16 -06:00
ftrace.c
powerpc updates for 3.19
2014-12-11 17:48:14 -08:00
head_8xx.S
powerpc/8xx: Remove duplicated code in set_context()
2015-01-29 21:59:02 -06:00
head_32.S
head_40x.S
powerpc: Remove check for CONFIG_SERIAL_TEXT_DEBUG
2014-06-11 16:31:21 +10:00
head_44x.S
powerpc/ppc476: Disable BTAC
2014-08-13 15:13:42 +10:00
head_64.S
Merge remote-tracking branch 'scott/next' into next
2014-08-05 14:13:41 +10:00
head_booke.h
powerpc: Fix interrupt range check on debug exception
2013-05-02 10:31:01 +10:00
head_fsl_booke.S
powerpc/booke: Revert SPE/AltiVec common defines for interrupt numbers
2014-09-22 10:11:31 +02:00
hw_breakpoint.c
powerpc: Replace __get_cpu_var uses
2014-11-03 12:12:32 +11:00
ibmebus.c
powerpc: make of_device_ids const
2014-09-25 23:14:46 +10:00
idle.c
powerpc/idle: Convert use of typedef ctl_table to struct ctl_table
2013-07-01 11:10:35 +10:00
idle_6xx.S
powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly
2012-07-11 14:18:22 +10:00
idle_book3e.S
powerpc: No need to use dot symbols when branching to a function
2014-04-23 10:05:16 +10:00
idle_e500.S
powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly
2012-07-11 14:18:22 +10:00
idle_power4.S
powerpc: No need to use dot symbols when branching to a function
2014-04-23 10:05:16 +10:00
idle_power7.S
powernv/powerpc: Add winkle support for offline cpus
2014-12-15 10:46:41 +11:00
io-workarounds.c
powerpc: Better split CONFIG_PPC_INDIRECT_PIO and CONFIG_PPC_INDIRECT_MMIO
2013-08-14 14:57:50 +10:00
io.c
powerpc/powernv: Add PIO accessors for Power8 LPC bus
2013-08-14 14:58:08 +10:00
iomap.c
powerpc/kerenl: Enable EEH for IO accessors
2014-06-24 12:43:13 +10:00
iommu.c
powerpc/iommu: Remove IOMMU device references via bus notifier
2015-03-04 13:19:33 +11:00
irq.c
powerpc: Remove superfluous bootmem includes
2014-11-10 09:59:26 +11:00
isa-bridge.c
POWERPC: drivers: remove __dev* attributes.
2013-01-03 15:57:04 -08:00
jump_label.c
kgdb.c
powerpc: Replace __get_cpu_var uses
2014-11-03 12:12:32 +11:00
kprobes.c
powerpc: Replace __get_cpu_var uses
2014-11-03 12:12:32 +11:00
kvm.c
At over 200 commits, covering almost all supported architectures, this
2014-06-04 08:47:12 -07:00
kvm_emul.S
KVM: PPC: Not optimizing MSR_CE and MSR_ME with paravirt.
2012-05-30 11:43:11 +02:00
l2cr_6xx.S
legacy_serial.c
powerpc: make of_device_ids const
2014-09-25 23:14:46 +10:00
machine_kexec.c
powerpc: Fix endian issues in kexec and crash dump code
2014-02-11 11:24:52 +11:00
machine_kexec_32.c
machine_kexec_64.c
kexec: add IND_FLAGS macro
2015-02-17 14:34:51 -08:00
Makefile
powerpc: Separate ppc32 symbol exports into ppc_ksyms_32.c
2014-09-25 23:14:40 +10:00
mce.c
powerpc: Replace __get_cpu_var uses
2014-11-03 12:12:32 +11:00
mce_power.c
powerpc/book3s: Fix partial invalidation of TLBs in MCE code.
2014-12-05 16:26:21 +11:00
misc.S
powerpc: Rename __get_SP() to current_stack_pointer()
2014-10-15 11:23:20 +11:00
misc_32.S
powerpc: Set the correct ksp_limit on ppc32 when switching to irq stack
2014-02-17 11:19:34 +11:00
misc_64.S
powerpc: module: handle MODVERSION for .TOC.
2014-04-23 10:05:28 +10:00
module.c
powerpc: Move local setup.h declarations to arch includes
2013-10-30 16:00:31 +11:00
module_32.c
powerpc: Use pr_fmt in module loader code
2014-10-02 17:33:54 +10:00
module_64.c
powerpc: Use pr_fmt in module loader code
2014-10-02 17:33:54 +10:00
msi.c
PCI/MSI/PPC: Remove arch_msi_check_device()
2014-10-01 12:21:14 -06:00
nvram_64.c
powerpc: Make a bunch of things static
2014-09-25 23:14:41 +10:00
of_platform.c
powerpc: kernel: drop owner assignment from platform_drivers
2014-10-20 16:20:10 +02:00
paca.c
powerpc/kernel: Avoid memory corruption at early stage
2015-01-23 14:02:52 +11:00
pci-common.c
powerpc/PCI: Clip bridge windows to fit in upstream windows
2015-01-16 10:04:43 -06:00
pci-hotplug.c
powerpc/PCI: Use pci_is_bridge() to simplify code
2014-05-27 14:57:36 -06:00
pci_32.c
powerpc: Remove more traces of bootmem
2014-11-19 21:41:51 +11:00
pci_64.c
powerpc updates for 3.19
2014-12-11 17:48:14 -08:00
pci_dn.c
powerpc/pci: remove the multi-init for pci_dn->phb
2015-01-23 14:02:48 +11:00
pci_of_scan.c
powerpc: Make a bunch of things static
2014-09-25 23:14:41 +10:00
pmc.c
ppc32.h
powerpc: switch to generic old sigaction()
2013-02-03 18:16:10 -05:00
ppc_ksyms.c
powerpc: Rename __get_SP() to current_stack_pointer()
2014-10-15 11:23:20 +11:00
ppc_ksyms_32.c
powerpc: Separate ppc32 symbol exports into ppc_ksyms_32.c
2014-09-25 23:14:40 +10:00
ppc_save_regs.S
proc_powerpc.c
proc_powerpc: switch to fixed_size_llseek()
2013-06-29 12:57:50 +04:00
process.c
powerpc: Use generic PIE randomization
2014-11-17 17:55:11 +11:00
prom.c
powerpc/kernel: Avoid initializing device-tree pointer twice
2015-02-02 14:51:32 +11:00
prom_init.c
powerpc/powernv: Remove OPAL v1 takeover
2014-06-25 13:10:47 +10:00
prom_init_check.sh
powerpc: Simplify symbol check in prom_init_check.sh
2014-09-25 23:14:46 +10:00
prom_parse.c
powerpc: of_parse_dma_window should take a __be32 *dma_window
2013-08-14 15:33:26 +10:00
ptrace.c
Merge git://git.infradead.org/users/eparis/audit
2014-10-19 16:25:56 -07:00
ptrace32.c
powerpc: move debug registers in a structure
2013-10-18 18:44:49 -05:00
reloc_32.S
powerpc: Don't flush/invalidate the d/icache for an unknown relocation type
2013-07-01 11:10:34 +10:00
reloc_64.S
powerpc: Align p_dyn, p_rela and p_st symbols
2014-03-07 13:50:19 +11:00
rtas-proc.c
powerpc: LLVM complains about forward declaration of struct rtas_sensors
2014-11-10 09:59:32 +11:00
rtas-rtc.c
rtas.c
powerpc/pseries: Fix endian problems with LE migration
2015-01-27 14:03:53 +11:00
rtas_flash.c
powerpc: Fix endianness of flash_block_list in rtas_flash
2014-07-28 11:30:54 +10:00
rtas_pci.c
powerpc: Remove superfluous bootmem includes
2014-11-10 09:59:26 +11:00
rtasd.c
powerpc: Make a bunch of things static
2014-09-25 23:14:41 +10:00
setup-common.c
powerpc: Convert power off logic to pm_power_off
2014-11-03 12:12:51 +11:00
setup_32.c
powerpc: Remove unused vgacon_remap_base & fix build break
2014-11-10 09:59:31 +11:00
setup_64.c
powerpc: Remove more traces of bootmem
2014-11-19 21:41:51 +11:00
signal.c
powerpc: Use sigsp()
2014-08-06 13:04:32 +02:00
signal.h
powerpc: Use get_signal() signal_setup_done()
2014-08-06 13:03:09 +02:00
signal_32.c
all arches, signal: move restart_block to struct task_struct
2015-02-12 18:54:12 -08:00
signal_64.c
all arches, signal: move restart_block to struct task_struct
2015-02-12 18:54:12 -08:00
smp-tbsync.c
powerpc: Delete non-required instances of include <linux/init.h>
2014-01-15 13:46:44 +11:00
smp.c
powerpc/smp: Wait until secondaries are active & online
2015-03-04 13:19:33 +11:00
stacktrace.c
powerpc: Rename __get_SP() to current_stack_pointer()
2014-10-15 11:23:20 +11:00
suspend.c
nosave: consolidate __nosave_{begin,end} in <asm/sections.h>
2014-10-09 22:26:04 -04:00
swsusp.c
Disintegrate asm/system.h for PowerPC
2012-03-28 18:30:02 +01:00
swsusp_32.S
swsusp_64.c
Disintegrate asm/system.h for PowerPC
2012-03-28 18:30:02 +01:00
swsusp_asm64.S
powerpc: Only save/restore SDR1 if in hypervisor mode
2013-10-31 12:37:29 +11:00
swsusp_booke.S
powerpc/fsl-booke: Use SPRN_SPRGn rather than mfsprg/mtsprg
2014-01-07 19:06:03 -06:00
sys_ppc32.c
unify compat fanotify_mark(2), switch to COMPAT_SYSCALL_DEFINE
2013-05-09 13:46:38 -04:00
syscalls.c
powerpc: Remove old compile time disabled syscall tracing code
2015-02-02 14:51:32 +11:00
sysfs.c
powerpc: Replace __get_cpu_var uses
2014-11-03 12:12:32 +11:00
systbl.S
powerpc: Use standard macros for sys_sigpending() & sys_old_getrlimit()
2014-07-28 14:09:23 +10:00
systbl_chk.c
systbl_chk.sh
tau_6xx.c
time.c
The clock framework changes for 3.20 contain the usual driver additions,
2015-02-21 12:30:30 -08:00
tm.S
powerpc: Fix regression of per-CPU DSCR setting
2014-05-28 13:35:40 +10:00
traps.c
powerpc: Remove some unused functions
2015-01-28 15:00:24 +11:00
udbg.c
powerpc: Remove platforms/wsp and associated pieces
2014-06-11 16:35:38 +10:00
udbg_16550.c
powerpc: Fix bad NULL pointer check in udbg_uart_getc_poll()
2014-11-12 13:47:20 +11:00
uprobes.c
uprobes/powerpc: Kill arch_uprobe->ainsn
2013-11-20 16:31:01 +01:00
vdso.c
powerpc: Remove superfluous bootmem includes
2014-11-10 09:59:26 +11:00
vecemu.c
powerpc: Put FP/VSX and VR state into structures
2013-10-11 17:26:49 +11:00
vector.S
powerpc: Don't corrupt transactional state when using FP/VMX in kernel
2014-01-15 13:59:11 +11:00
vio.c
arch/powerpc: replace obsolete strict_strto* calls
2014-08-08 15:57:28 -07:00
vmlinux.lds.S
powerpc/modules: Module CRC relocation fix causes perf issues
2013-07-24 14:18:43 +10:00