mirror_qemu/hw
Cédric Le Goater d2b668fca5 vfio/pci: Clear MSI-X IRQ index always
When doing device assignment of a physical device, MSI-X can be
enabled with no vectors enabled and this sets the IRQ index to
VFIO_PCI_MSIX_IRQ_INDEX. However, when MSI-X is disabled, the IRQ
index is left untouched if no vectors are in use. Then, when INTx
is enabled, the IRQ index value is considered incompatible (set to
MSI-X) and VFIO_DEVICE_SET_IRQS fails. QEMU complains with :

qemu-system-x86_64: vfio 0000:08:00.0: Failed to set up TRIGGER eventfd signaling for interrupt INTX-0: VFIO_DEVICE_SET_IRQS failure: Invalid argument

To avoid that, unconditionaly clear the IRQ index when MSI-X is
disabled.

Buglink: https://issues.redhat.com/browse/RHEL-21293
Fixes: 5ebffa4e87 ("vfio/pci: use an invalid fd to enable MSI-X")
Cc: Jing Liu <jing2.liu@intel.com>
Cc: Alex Williamson <alex.williamson@redhat.com>
Reviewed-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
2024-01-29 08:26:25 +01:00
..
9pfs * configure: use a native non-cross compiler for linux-user 2024-01-04 19:55:20 +00:00
acpi * configure: use a native non-cross compiler for linux-user 2024-01-04 19:55:20 +00:00
adc hw/adc: Constify VMState 2023-12-29 11:17:30 +11:00
alpha hw/pci: modify pci_setup_iommu() to set PCIIOMMUOps 2023-11-03 09:20:31 +01:00
arm hw/arm: add PCIe to Freescale i.MX6 2024-01-26 12:23:04 +00:00
audio hw/audio/sb16: Do not migrate qdev properties 2024-01-05 16:20:15 +01:00
avr hw/avr/atmega: Fix wrong initial value of stack pointer 2023-11-28 14:27:12 +01:00
block virtio-blk: always set ioeventfd during startup 2024-01-26 11:16:58 +01:00
char hw/char/imx_serial: Implement receive FIFO and ageing timer 2024-01-26 11:34:21 +00:00
core hw/core/cpu: Rename cpu_class_init() to include 'common' 2024-01-19 12:28:59 +01:00
cpu target/arm: Move GTimer definitions to new 'gtimer.h' header 2024-01-26 11:30:49 +00:00
cris Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
cxl meson: remove CONFIG_ALL 2023-12-31 09:11:28 +01:00
display vga: sort-of implement word and double-word access modes 2024-01-18 10:43:14 +01:00
dma hw/dma: Constify VMState 2023-12-29 11:17:30 +11:00
gpio hw/gpio: Constify VMState 2023-12-29 11:17:30 +11:00
hppa hw/hppa: Move software power button address back into PDC 2024-01-13 06:48:14 +01:00
hyperv hw/hyperv: Constify VMState 2023-12-29 11:17:30 +11:00
i2c hw/i2c: Constify VMState 2023-12-29 11:17:30 +11:00
i386 - Fix s390x ISM reset 2024-01-20 17:22:16 +00:00
ide hw/ide: Constify VMState 2023-12-29 11:17:30 +11:00
input hw/input: Constify VMState 2023-12-29 11:17:30 +11:00
intc pull-loongarch-20240111 2024-01-11 15:19:14 +00:00
ipack hw/ipack: Constify VMState 2023-12-29 11:17:30 +11:00
ipmi hw/ipmi: Constify VMState 2023-12-29 11:17:30 +11:00
isa hw/isa: Constify VMState 2023-12-29 11:17:30 +11:00
loongarch hw/intc/loongarch_extioi: Add dynamic cpu number support 2024-01-11 19:22:47 +08:00
m68k q800: move dp8393x_prom memory region to Q800MachineState 2024-01-11 11:39:26 +01:00
mem meson: remove CONFIG_ALL 2023-12-31 09:11:28 +01:00
microblaze hw/microblaze: Clean up local variable shadowing 2023-09-29 10:07:16 +02:00
mips qemu/main-loop: rename QEMU_IOTHREAD_LOCK_GUARD to BQL_LOCK_GUARD 2024-01-08 10:45:43 -05:00
misc hw/misc/xlnx-versal-crl: Build it only once 2024-01-26 11:30:49 +00:00
net virtio-net: correctly copy vnet header when flushing TX 2024-01-25 14:58:00 +08:00
nios2 target/nios2: Deprecate the Nios II architecture 2023-11-23 14:10:04 +00:00
nubus trace-events: Fix the name of the tracing.rst file 2023-09-08 13:08:51 +03:00
nvme hw/nvme: Clean up local variable shadowing in nvme_ns_init() 2023-09-29 10:07:20 +02:00
nvram hw/arm/virt-acpi-build.c: Migrate fw_cfg creation to common location 2024-01-10 18:47:46 +10:00
openrisc hw/openrisc: Constify VMState 2023-12-30 07:38:06 +11:00
pci * configure: use a native non-cross compiler for linux-user 2024-01-04 19:55:20 +00:00
pci-bridge * configure: use a native non-cross compiler for linux-user 2024-01-04 19:55:20 +00:00
pci-host target/hppa qemu v8.2 regression fixes 2024-01-16 14:24:42 +00:00
pcmcia hw/pcmcia/pxa2xx: Inline pxa2xx_pcmcia_init() 2023-10-27 12:48:57 +01:00
ppc qemu/main-loop: rename qemu_cond_wait_iothread() to qemu_cond_wait_bql() 2024-01-08 10:45:43 -05:00
rdma hw/rdma/vmw/pvrdma_cmd: Use correct struct in query_port() 2023-10-21 15:00:22 +03:00
remote Replace "iothread lock" with "BQL" in comments 2024-01-08 10:45:43 -05:00
riscv target/riscv: add zicbop extension flag 2024-01-10 18:47:47 +10:00
rtc hw/rtc: Constify VMState 2023-12-30 07:38:06 +11:00
rx hw/rx/rx62n: Use qdev_prop_set_array() 2023-11-10 18:19:13 +01:00
s390x - Fix s390x ISM reset 2024-01-20 17:22:16 +00:00
scsi hw/scsi/esp-pci: set DMA_STAT_BCMBLT when BLAST command issued 2024-01-19 12:28:59 +01:00
sd hw/sd: Constify VMState 2023-12-30 07:38:06 +11:00
sensor hw/sensor: Constify VMState 2023-12-30 07:38:06 +11:00
sh4 target/sh4: Deprecate the shix machine 2024-01-19 12:28:59 +01:00
smbios meson: remove CONFIG_ALL 2023-12-31 09:11:28 +01:00
sparc target/sparc: Simplify qemu_irq_ack 2024-01-05 16:20:15 +01:00
sparc64 hw/sparc: Simplify memory_region_init_ram_nomigrate() calls 2024-01-05 16:20:15 +01:00
ssi hw/ssi: Constify VMState 2023-12-30 07:38:06 +11:00
timer hw/timer/hpet: Convert DPRINTF to trace events 2024-01-19 12:28:10 +01:00
tpm hw/tpm: Constify VMState 2023-12-30 07:38:06 +11:00
tricore hw/tricore: Log failing test in testdevice 2023-09-29 08:28:02 +02:00
ufs hw/ufs: avoid generating the same ID string for different LU devices 2023-12-05 13:57:18 +09:00
usb migration 1st pull for 9.0 2024-01-05 13:35:25 +00:00
vfio vfio/pci: Clear MSI-X IRQ index always 2024-01-29 08:26:25 +01:00
virtio hw/arm/virt-acpi-build.c: Migrate virtio creation to common location 2024-01-10 18:47:46 +10:00
watchdog hw/watchdog: Constify VMState 2023-12-30 07:38:06 +11:00
xen cpus: check running not RUN_STATE_RUNNING 2024-01-04 09:52:42 +08:00
xenpv hw/xen: update Xen PV NIC to XenDevice model 2023-11-07 08:54:20 +00:00
xtensa trivial: Simplify the spots that use TARGET_BIG_ENDIAN as a numeric value 2023-09-08 13:08:52 +03:00
Kconfig hw/ufs: Initial commit for emulated Universal-Flash-Storage 2023-09-07 14:01:29 -04:00
meson.build hw/ufs: Initial commit for emulated Universal-Flash-Storage 2023-09-07 14:01:29 -04:00