summaryrefslogtreecommitdiff
path: root/samples/vfio-mdev/mdpy.c
diff options
context:
space:
mode:
authorAlex Williamson <alex.williamson@redhat.com>2023-10-17 01:47:35 +0300
committerAlex Williamson <alex.williamson@redhat.com>2023-10-25 00:02:55 +0300
commit293fbc28818135743f54d46c418ede3e4a20a742 (patch)
tree89a8c604ae748e05021115547bbb541a1b472ac5 /samples/vfio-mdev/mdpy.c
parentbd885fcf28da7da6a2244d30cd45630303c781ed (diff)
downloadlinux-293fbc28818135743f54d46c418ede3e4a20a742.tar.xz
vfio/mtty: Overhaul mtty interrupt handling
The mtty driver does not currently conform to the vfio SET_IRQS uAPI. For example, it claims to support mask and unmask of INTx, but actually does nothing. It claims to support AUTOMASK for INTx, but doesn't. It fails to teardown eventfds under the full semantics specified by the SET_IRQS ioctl. It also fails to teardown eventfds when the device is closed, leading to memory leaks. It claims to support the request IRQ, but doesn't. Fix all these. A side effect of this is that QEMU will now report a warning: vfio <uuid>: Failed to set up UNMASK eventfd signaling for interrupt \ INTX-0: VFIO_DEVICE_SET_IRQS failure: Inappropriate ioctl for device The fact is that the unmask eventfd was never supported but quietly failed. mtty never honored the AUTOMASK behavior, therefore there was nothing to unmask. QEMU is verbose about the failure, but properly falls back to userspace unmasking. Fixes: 9d1a546c53b4 ("docs: Sample driver to demonstrate how to use Mediated device framework.") Reviewed-by: Cédric Le Goater <clg@redhat.com> Link: https://lore.kernel.org/r/20231016224736.2575718-2-alex.williamson@redhat.com Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'samples/vfio-mdev/mdpy.c')
0 files changed, 0 insertions, 0 deletions