diff options
author | Eric Auger <eric.auger@linaro.org> | 2015-10-14 15:32:56 +0000 |
---|---|---|
committer | Alex Williamson <alex.williamson@redhat.com> | 2015-10-27 15:02:53 -0600 |
commit | 1276ece32c5d18790e8bcff89e692fd3c1790bab (patch) | |
tree | d7151d776c28879bf2ddeabdfea4fe1ed8371270 /drivers/vfio | |
parent | 4e1a635552d3df7bb743de8c2be156293c53839e (diff) | |
download | linux-1276ece32c5d18790e8bcff89e692fd3c1790bab.tar.gz linux-1276ece32c5d18790e8bcff89e692fd3c1790bab.tar.xz |
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>
Diffstat (limited to 'drivers/vfio')
-rw-r--r-- | drivers/vfio/platform/vfio_platform_irq.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/vfio/platform/vfio_platform_irq.c b/drivers/vfio/platform/vfio_platform_irq.c index 88bba57b30a8..46d4750f43a8 100644 --- a/drivers/vfio/platform/vfio_platform_irq.c +++ b/drivers/vfio/platform/vfio_platform_irq.c @@ -185,6 +185,7 @@ static int vfio_set_trigger(struct vfio_platform_device *vdev, int index, int ret; if (irq->trigger) { + irq_clear_status_flags(irq->hwirq, IRQ_NOAUTOEN); free_irq(irq->hwirq, irq); kfree(irq->name); eventfd_ctx_put(irq->trigger); |