linux/drivers/xen
Liu Shuo 020db9d3c1 xen/events: Fix interrupt lost during irq_disable and irq_enable
Here is a device has xen-pirq-MSI interrupt. Dom0 might lost interrupt
during driver irq_disable/irq_enable. Here is the scenario,
 1. irq_disable -> disable_dynirq -> mask_evtchn(irq channel)
 2. dev interrupt raised by HW and Xen mark its evtchn as pending
 3. irq_enable -> startup_pirq -> eoi_pirq ->
    clear_evtchn(channel of irq) -> clear pending status
 4. consume_one_event process the irq event without pending bit assert
    which result in interrupt lost once
 5. No HW interrupt raising anymore.

Now use enable_dynirq for enable_pirq of xen_pirq_chip to remove
eoi_pirq when irq_enable.

Signed-off-by: Liu Shuo <shuo.a.liu@intel.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
2017-08-11 16:46:01 +02:00
..
events xen/events: Fix interrupt lost during irq_disable and irq_enable 2017-08-11 16:46:01 +02:00
xen-pciback
xenbus xen: avoid deadlock in xenbus 2017-08-11 16:45:56 +02:00
xenfs xen: Drop un-informative message during boot 2017-07-27 19:55:34 +02:00
acpi.c
arm-device.c
balloon.c xen/balloon: don't online new memory initially 2017-07-23 08:13:18 +02:00
biomerge.c
cpu_hotplug.c
dbgp.c
efi.c
evtchn.c
fallback.c
features.c
gntalloc.c
gntdev.c
grant-table.c xen/grant-table: log the lack of grants 2017-07-23 08:09:43 +02:00
Kconfig
Makefile
manage.c xen: features and fixes for 4.13-rc1 2017-07-06 19:11:24 -07:00
mcelog.c
pci.c
pcpu.c
platform-pci.c
preempt.c
privcmd.c
privcmd.h
swiotlb-xen.c
sys-hypervisor.c
time.c
tmem.c
xen-acpi-cpuhotplug.c
xen-acpi-memhotplug.c
xen-acpi-pad.c
xen-acpi-processor.c
xen-balloon.c xen/balloon: don't online new memory initially 2017-07-23 08:13:18 +02:00
xen-scsiback.c xen/scsiback: Make TMF processing slightly faster 2017-07-06 22:58:03 -07:00
xen-selfballoon.c xen: selfballoon: remove unnecessary static in frontswap_selfshrink() 2017-07-27 19:55:41 +02:00
xen-stub.c
xlate_mmu.c