ublk_drv: remove nr_aborted_queues from ublk_device
[platform/kernel/linux-starfive.git] / io_uring / poll.c
index 32e5fc8..2ac1366 100644 (file)
@@ -283,8 +283,12 @@ static int io_poll_check_events(struct io_kiocb *req, bool *locked)
                         * to the waitqueue, so if we get nothing back, we
                         * should be safe and attempt a reissue.
                         */
-                       if (unlikely(!req->cqe.res))
+                       if (unlikely(!req->cqe.res)) {
+                               /* Multishot armed need not reissue */
+                               if (!(req->apoll_events & EPOLLONESHOT))
+                                       continue;
                                return IOU_POLL_REISSUE;
+                       }
                }
                if (req->apoll_events & EPOLLONESHOT)
                        return IOU_POLL_DONE;