linux_dsm_epyc7002/arch/powerpc/platforms
Tyrel Datwyler b8f89fea59 powerpc/pseries/vio: Dispose of virq mapping on vdevice unregister
When a vdevice is DLPAR removed from the system the vio subsystem
doesn't bother unmapping the virq from the irq_domain. As a result we
have a virq mapped to a hardware irq that is no longer valid for the
irq_domain. A side effect is that we are left with /proc/irq/<irq#>
affinity entries, and attempts to modify the smp_affinity of the irq
will fail.

In the following observed example the kernel log is spammed by
ics_rtas_set_affinity errors after the removal of a VSCSI adapter.
This is a result of irqbalance trying to adjust the affinity every 10
seconds.

  rpadlpar_io: slot U8408.E8E.10A7ACV-V5-C25 removed
  ics_rtas_set_affinity: ibm,set-xive irq=655385 returns -3
  ics_rtas_set_affinity: ibm,set-xive irq=655385 returns -3

This patch fixes the issue by calling irq_dispose_mapping() on the
virq of the viodev on unregister.

Fixes: f2ab621996 ("powerpc/pseries: Add PFO support to the VIO bus")
Signed-off-by: Tyrel Datwyler <tyreld@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2017-11-06 16:48:11 +11:00
..
4xx powerpc/4xx: Constify cpm_suspend_ops 2017-08-31 19:56:33 +10:00
8xx powerpc/8xx: Fix two CONFIG_8xx left behind 2017-08-14 21:57:33 +10:00
40x powerpc updates for 4.10 2016-12-16 09:26:42 -08:00
44x powerpc/44x: Move 44x machine check handlers into platforms/44x 2017-08-10 23:31:24 +10:00
52xx powerpc: Convert to using %pOF instead of full_name 2017-08-23 22:27:04 +10:00
82xx powerpc/e8248e: Select PHYLIB only if NETDEVICES is enabled 2016-09-24 23:59:47 -05:00
83xx powerpc/83xx: Use sizeof correct type when ioremapping 2017-08-31 14:26:05 +10:00
85xx powerpc: Convert to using %pOF instead of full_name 2017-08-23 22:27:04 +10:00
86xx powerpc: Add struct smp_ops_t.cause_nmi_ipi operation 2017-04-28 21:02:25 +10:00
512x powerpc/512x: Constify clk_div_tables 2017-08-31 14:26:06 +10:00
amigaone powerpc: Convert to using %pOF instead of full_name 2017-08-23 22:27:04 +10:00
cell powerpc updates for 4.14 2017-09-07 10:15:40 -07:00
chrp powerpc: Convert to using %pOF instead of full_name 2017-08-23 22:27:04 +10:00
embedded6xx powerpc: Convert to using %pOF instead of full_name 2017-08-23 22:27:04 +10:00
maple powerpc: Convert to using %pOF instead of full_name 2017-08-23 22:27:04 +10:00
pasemi powerpc: Convert to using %pOF instead of full_name 2017-08-23 22:27:04 +10:00
powermac powerpc/powermac: Use setup_timer() helper 2017-10-04 11:28:02 +11:00
powernv powerpc/powernv: Use FIXUP_ENDIAN_HV in OPAL return 2017-11-06 16:48:09 +11:00
ps3 powerpc: Squash lines for simple wrapper functions 2017-08-31 14:26:42 +10:00
pseries powerpc/pseries/vio: Dispose of virq mapping on vdevice unregister 2017-11-06 16:48:11 +11:00
fsl_uli1575.c of/irq: Refactor interrupt-map parsing 2013-10-24 11:43:04 +01:00
Kconfig powerpc/book3s64: Move PPC_DT_CPU_FTRs and enable it by default 2017-06-08 20:42:57 +10:00
Kconfig.cputype powerpc/8xx: remove CONFIG_8xx 2017-08-10 23:32:17 +10:00
Makefile powerpc/4xx: Create 4xx pseudo-platform in platforms/4xx 2017-08-10 23:31:30 +10:00