diff options
author | Pavel Begunkov <asml.silence@gmail.com> | 2020-06-25 12:37:10 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2020-06-25 07:20:43 -0600 |
commit | cd664b0e35cb1202f40c259a1a5ea791d18c879d (patch) | |
tree | 3983571ba27df563c6972dac57113a6ca5a1d649 /drivers/base/isa.c | |
parent | b772f07add1c0b22e02c0f1e96f647560679d3a9 (diff) | |
download | linux-cd664b0e35cb1202f40c259a1a5ea791d18c879d.tar.gz linux-cd664b0e35cb1202f40c259a1a5ea791d18c879d.tar.bz2 linux-cd664b0e35cb1202f40c259a1a5ea791d18c879d.zip |
io_uring: fix hanging iopoll in case of -EAGAIN
io_do_iopoll() won't do anything with a request unless
req->iopoll_completed is set. So io_complete_rw_iopoll() has to set
it, otherwise io_do_iopoll() will poll a file again and again even
though the request of interest was completed long time ago.
Also, remove -EAGAIN check from io_issue_sqe() as it races with
the changed lines. The request will take the long way and be
resubmitted from io_iopoll*().
io_kiocb's result and iopoll_completed")
Fixes: bbde017a32b3 ("io_uring: add memory barrier to synchronize
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/base/isa.c')
0 files changed, 0 insertions, 0 deletions