qemu/hw
Cédric Le Goater b79a2ef0d4 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>
(cherry picked from commit d2b668fca5)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2024-01-29 23:08:46 +03:00
..
9pfs migration: simplify blockers 2023-10-20 08:51:41 +02:00
acpi hw/acpi/erst: Do not ignore Error* in realize handler 2023-12-02 15:56:49 -05:00
adc meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
alpha hw/pci: modify pci_setup_iommu() to set PCIIOMMUOps 2023-11-03 09:20:31 +01:00
arm hw/arm/fsl-imx: Do not ignore Error argument 2023-11-20 15:34:19 +00:00
audio ui/audio fixes for 8.2 2023-12-04 08:03:42 -05:00
avr hw/avr/atmega: Fix wrong initial value of stack pointer 2023-11-28 14:27:12 +01:00
block hw/pflash: implement update buffer for block writes 2024-01-20 13:43:42 +03:00
char hw/xen: add support for Xen primary console in emulated mode 2023-11-07 08:54:20 +00:00
core qdev: Fix crash in array property getter 2023-11-28 08:12:49 -05:00
cpu hw/other: spelling fixes 2023-09-21 11:31:16 +03:00
cris Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
cxl hw/cxl: spelling fixes: limitaions, potentialy, intialized 2023-11-15 11:09:17 +03:00
display hw/display/vmware_vga: fix probably typo 2023-11-13 16:56:24 +01:00
dma hw/dma/xlnx_csu_dma: don't throw guest errors when stopping the SRC DMA 2023-11-27 17:02:04 +00:00
gpio hw/gpio/nrf51: implement DETECT signal 2023-08-22 17:30:59 +01:00
hppa hw/hppa: Move software power button address back into PDC 2024-01-17 10:32:47 +03:00
hyperv vfio queue: 2023-11-07 09:41:52 +08:00
i2c hw/i2c: pmbus: reset page register for out of range reads 2023-11-07 13:08:49 +01:00
i386 target/i386: the sgx_epc_get_section stub is reachable 2024-01-05 19:10:11 +03:00
ide ide/via: Fix BAR4 value in legacy mode 2023-11-28 14:56:32 +01:00
input hw/input/stellaris_gamepad: Free StellarisGamepad::keycodes[] array 2023-11-27 15:27:46 +00:00
intc hw/intc/arm_gicv3_cpuif: handle LPIs in in the list registers 2024-01-11 20:59:34 +03:00
ipack meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
ipmi hw/ipmi: Don't call vmstate_register() from instance_init() functions 2023-11-01 16:13:58 +01:00
isa hw/audio/via-ac97: Route interrupts using via_isa_set_irq() 2023-11-28 14:26:37 +01:00
loongarch hw/acpi: Realize ACPI_GED sysbus device before accessing it 2023-10-19 23:13:28 +02:00
m68k hw/core/machine: Constify MachineClass::valid_cpu_types[] 2023-11-20 15:30:59 +00:00
mem hw/mem/memory-device.c: spelling fix: ontaining 2023-11-15 11:59:54 +03:00
microblaze hw/microblaze: Clean up local variable shadowing 2023-09-29 10:07:16 +02:00
mips hw/mips: LOONGSON3V depends on UNIMP device 2023-11-13 16:56:06 +01:00
misc edu: fix DMA range upper bound check 2024-01-08 19:26:21 +03:00
net virtio-net: correctly copy vnet header when flushing TX 2024-01-26 16:20:01 +03: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/nvram/xlnx-efuse-ctrl: Free XlnxVersalEFuseCtrl[] "pg0-lock" array 2023-11-27 15:27:45 +00:00
openrisc *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
pci msix: unset PCIDevice::msix_vector_poll_notifier in rollback 2023-12-02 15:56:49 -05:00
pci-bridge hw/pci-bridge/cxl_downstream: Set default link width and link speed 2023-11-07 03:39:11 -05:00
pci-host hw/pci-host/astro: Add missing astro & elroy registers for NetBSD 2024-01-17 10:32:47 +03:00
pcmcia hw/pcmcia/pxa2xx: Inline pxa2xx_pcmcia_init() 2023-10-27 12:48:57 +01:00
ppc ppc/amigaone: Allow running AmigaOS without firmware image 2023-11-30 22:13:00 +10:00
rdma hw/rdma/vmw/pvrdma_cmd: Use correct struct in query_port() 2023-10-21 15:00:22 +03:00
remote hw/pci: modify pci_setup_iommu() to set PCIIOMMUOps 2023-11-03 09:20:31 +01:00
riscv riscv: Fix SiFive E CLINT clock frequency 2023-11-22 13:57:19 +10:00
rtc mc146818rtc: rtc_set_time(): initialize tm to zeroes 2023-11-06 15:00:27 +00:00
rx hw/rx/rx62n: Use qdev_prop_set_array() 2023-11-10 18:19:13 +01:00
s390x s390x/pci: drive ISM reset from subsystem reset 2024-01-22 18:23:48 +03:00
scsi hw/scsi/esp-pci: set DMA_STAT_BCMBLT when BLAST command issued 2024-01-20 18:25:42 +03:00
sd hw/sd: Declare QOM types using DEFINE_TYPES() macro 2023-11-07 13:08:49 +01:00
sensor hw/sensor: add ADM1266 device model 2023-11-07 13:08:49 +01:00
sh4 hw/other: spelling fixes 2023-09-21 11:31:16 +03:00
smbios hw/acpi: changes towards enabling -Wshadow=local 2023-09-29 10:07:18 +02:00
sparc other architectures: spelling fixes 2023-07-25 17:14:07 +03:00
sparc64 hw/sparc64/ebus: Access memory regions via pci_address_space_io() 2023-10-19 23:13:28 +02:00
ssi hw/ssi/xilinx_spips: fix an out of bound access 2023-11-27 15:38:43 +00:00
timer migration: Use vmstate_register_any() 2023-11-01 16:13:58 +01:00
tpm hw/tpm: spelling fixes 2023-09-20 07:54:34 +03: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 hw/usb/vt82c686-uhci-pci: Use ISA instead of PCI interrupts 2023-11-28 14:26:37 +01:00
vfio vfio/pci: Clear MSI-X IRQ index always 2024-01-29 23:08:46 +03:00
virtio vhost-user-scsi: free the inflight area when reset 2023-12-02 15:56:49 -05:00
watchdog hw/watchdog/wdt_aspeed: Remove unused 'hw/misc/aspeed_scu.h' header 2023-11-15 11:09:17 +03:00
xen hw/i386/pc: support '-nic' for xen-net-device 2023-11-07 08:54:20 +00: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