event/dpaa2: remove check on epoll return
authorNipun Gupta <nipun.gupta@nxp.com>
Wed, 9 May 2018 09:20:52 +0000 (14:50 +0530)
committerJerin Jacob <jerin.jacob@caviumnetworks.com>
Thu, 10 May 2018 12:03:39 +0000 (14:03 +0200)
Driver shouldn't take decision on signals received. The return
from epoll was blocking on EINTR which is not the right use-case.

Fixes: 36d87bb92230 ("event/dpaa2: handle timeout using interrupts in dequeue")
Cc: stable@dpdk.org
Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
drivers/event/dpaa2/dpaa2_eventdev.c

index 0199d66..08388c7 100644 (file)
@@ -154,26 +154,12 @@ dpaa2_eventdev_enqueue(void *port, const struct rte_event *ev)
 static void dpaa2_eventdev_dequeue_wait(uint64_t timeout_ticks)
 {
        struct epoll_event epoll_ev;
-       int ret, i = 0;
 
        qbman_swp_interrupt_clear_status(DPAA2_PER_LCORE_PORTAL,
                                         QBMAN_SWP_INTERRUPT_DQRI);
 
-RETRY:
-       ret = epoll_wait(DPAA2_PER_LCORE_DPIO->epoll_fd,
+       epoll_wait(DPAA2_PER_LCORE_DPIO->epoll_fd,
                         &epoll_ev, 1, timeout_ticks);
-       if (ret < 1) {
-               /* sometimes due to some spurious interrupts epoll_wait fails
-                * with errno EINTR. so here we are retrying epoll_wait in such
-                * case to avoid the problem.
-                */
-               if (errno == EINTR) {
-                       DPAA2_EVENTDEV_DEBUG("epoll_wait fails");
-                       if (i++ > 10)
-                               DPAA2_EVENTDEV_DEBUG("Dequeue burst Failed");
-               goto RETRY;
-               }
-       }
 }
 
 static void dpaa2_eventdev_process_parallel(struct qbman_swp *swp,