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 xen: modify xenstore watch event interface 2017-02-09 11:26:49 -05:00
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 xen: rename dom0_op to platform_op 2015-12-21 14:40:55 +00:00
arm-device.c Xen: ARM: Zero reserved fields of xatp before making hypervisor call 2017-01-03 10:06:13 -08:00
balloon.c xen/balloon: don't online new memory initially 2017-07-23 08:13:18 +02:00
biomerge.c xen/biomerge: Don't allow biovec's to be merged when Linux is not using 4KB pages 2015-10-23 14:20:36 +01:00
cpu_hotplug.c xen: modify xenstore watch event interface 2017-02-09 11:26:49 -05:00
dbgp.c
efi.c xen: Implement EFI reset_system callback 2017-05-02 12:06:50 +02:00
evtchn.c xen-evtchn: Bind dyn evtchn:qemu-dm interrupt to next online VCPU 2017-06-13 15:30:27 +02:00
fallback.c
features.c xen: audit usages of module.h ; remove unnecessary instances 2016-03-21 15:13:32 +00:00
gntalloc.c xen: set error code on failures 2016-12-08 07:53:50 +01:00
gntdev.c drivers, xen: convert grant_map.users from atomic_t to refcount_t 2017-03-13 12:45:18 -04:00
grant-table.c xen/grant-table: log the lack of grants 2017-07-23 08:09:43 +02:00
Kconfig ARM64: XEN: Add a function to initialize Xen specific UEFI runtime services 2016-07-06 10:34:46 +01:00
Makefile Xen: ARM: Add support for mapping platform device mmio 2016-07-06 10:34:43 +01:00
manage.c xen: features and fixes for 4.13-rc1 2017-07-06 19:11:24 -07:00
mcelog.c x86/MCE, xen/mcelog: Make /dev/mcelog registration messages more precise 2017-06-20 23:25:19 +02:00
pci.c
pcpu.c xen: rename dom0_op to platform_op 2015-12-21 14:40:55 +00:00
platform-pci.c xen: Revert commits da72ff5bfc and 72a9b18629 2017-05-02 11:18:05 +02:00
preempt.c xen/preempt: use need_resched() instead of should_resched() 2015-08-20 12:24:14 +01:00
privcmd.c xen/privcmd: Support correctly 64KB page granularity when mapping memory 2017-06-07 11:23:14 +02:00
privcmd.h
swiotlb-xen.c xen-swiotlb: remove xen_swiotlb_set_dma_mask 2017-06-28 06:54:50 -07:00
sys-hypervisor.c xen: add sysfs node for hypervisor build id 2017-06-15 08:50:37 +02:00
time.c xen: add static initialization of steal_clock op to xen_time_ops 2016-07-26 14:07:06 +01:00
tmem.c fs: switch ->s_uuid to uuid_t 2017-06-05 16:59:12 +02:00
xen-acpi-cpuhotplug.c xen: rename dom0_op to platform_op 2015-12-21 14:40:55 +00:00
xen-acpi-memhotplug.c
xen-acpi-pad.c xen: rename dom0_op to platform_op 2015-12-21 14:40:55 +00:00
xen-acpi-processor.c xen/acpi: upload PM state from init-domain to Xen 2017-03-23 12:00:02 -04:00
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 Xen: xlate: Use page_to_xen_pfn instead of page_to_pfn 2016-07-06 10:34:42 +01:00