xen: do not map the same GSI twice in PVHVM guests.
authorStefano Stabellini <stefano.stabellini@eu.citrix.com>
Mon, 21 May 2012 15:54:10 +0000 (16:54 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 1 Jun 2012 07:18:25 +0000 (15:18 +0800)
commit474d1f4678a679a98eaf53801e7f95c61ae9daa7
tree55949e1184861437b1d4c6a3cb5cd8ab89f29034
parent284e7be895509cdaf9f58e2f789c00b5e9da2244
xen: do not map the same GSI twice in PVHVM guests.

commit 68c2c39a76b094e9b2773e5846424ea674bf2c46 upstream.

PV on HVM guests map GSIs into event channels. At restore time the
event channels are resumed by restore_pirqs.

Device drivers might try to register the same GSI again through ACPI at
restore time, but the GSI has already been mapped and bound by
restore_pirqs. This patch detects these situations and avoids
 mapping the same GSI multiple times.

Without this patch we get:
(XEN) irq.c:2235: dom4: pirq 23 or emuirq 28 already mapped
and waste a pirq.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/pci/xen.c
drivers/xen/events.c
include/xen/events.h