Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

VFIO: platform: clear IRQ_NOAUTOEN when de-assigning the IRQ

The vfio platform driver currently sets the IRQ_NOAUTOEN before
doing the request_irq to properly handle the user masking. However
it does not clear it when de-assigning the IRQ. This brings issues
when loading the native driver again which may not explicitly enable
the IRQ. This problem was observed with xgbe driver.

Signed-off-by: Eric Auger <eric.auger@linaro.org>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>

authored by

Eric Auger and committed by
Alex Williamson
1276ece3 4e1a6355

+1
+1
drivers/vfio/platform/vfio_platform_irq.c
··· 185 185 int ret; 186 186 187 187 if (irq->trigger) { 188 + irq_clear_status_flags(irq->hwirq, IRQ_NOAUTOEN); 188 189 free_irq(irq->hwirq, irq); 189 190 kfree(irq->name); 190 191 eventfd_ctx_put(irq->trigger);