On Tue, Aug 24, 2021 at 12:28 PM Maciej Szwed <maciej.sz...@intel.com> wrote: > > We should call read() on RTE_INTR_HANDLE_VFIO_REQ event > to confirm that event.
Still no review, Cc: maintainers / contributors to this code. This looks like a fix, if so, please add a Fixes: tag. Should this be backported to stable branches? > > Signed-off-by: Maciej Szwed <maciej.sz...@intel.com> > --- > lib/eal/linux/eal_interrupts.c | 11 +++++------ > 1 file changed, 5 insertions(+), 6 deletions(-) > > diff --git a/lib/eal/linux/eal_interrupts.c b/lib/eal/linux/eal_interrupts.c > index 22b3b7bcd9..dc42527344 100644 > --- a/lib/eal/linux/eal_interrupts.c > +++ b/lib/eal/linux/eal_interrupts.c > @@ -918,17 +918,16 @@ eal_intr_process_interrupts(struct epoll_event *events, > int nfds) > bytes_read = sizeof(buf.timerfd_num); > break; > #ifdef VFIO_PRESENT > +#ifdef HAVE_VFIO_DEV_REQ_INTERFACE > + case RTE_INTR_HANDLE_VFIO_REQ: > + call = true; Afaiu, call should be set only if the read() call succeeds. > +#endif > + /* fall through */ > case RTE_INTR_HANDLE_VFIO_MSIX: > case RTE_INTR_HANDLE_VFIO_MSI: > case RTE_INTR_HANDLE_VFIO_LEGACY: > bytes_read = sizeof(buf.vfio_intr_count); > break; > -#ifdef HAVE_VFIO_DEV_REQ_INTERFACE > - case RTE_INTR_HANDLE_VFIO_REQ: > - bytes_read = 0; > - call = true; > - break; > -#endif > #endif > case RTE_INTR_HANDLE_VDEV: > case RTE_INTR_HANDLE_EXT: > -- > 2.27.0 > -- David Marchand