Commit 2ee177e9 authored by Bart Van Assche's avatar Bart Van Assche Committed by Doug Ledford

irq_poll: Fix irq_poll_sched()

The IRQ_POLL_F_SCHED bit is set as long as polling is ongoing.
This means that irq_poll_sched() must proceed if this bit has
not yet been set.

Fixes: commit ea51190c ("irq_poll: fold irq_poll_sched_prep into irq_poll_sched").
Signed-off-by: default avatarBart Van Assche <bart.vanassche@sandisk.com>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarSagi Grimberg <sagig@mellanox.com>
Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
parent 9506902b
...@@ -29,7 +29,7 @@ void irq_poll_sched(struct irq_poll *iop) ...@@ -29,7 +29,7 @@ void irq_poll_sched(struct irq_poll *iop)
if (test_bit(IRQ_POLL_F_DISABLE, &iop->state)) if (test_bit(IRQ_POLL_F_DISABLE, &iop->state))
return; return;
if (!test_and_set_bit(IRQ_POLL_F_SCHED, &iop->state)) if (test_and_set_bit(IRQ_POLL_F_SCHED, &iop->state))
return; return;
local_irq_save(flags); local_irq_save(flags);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment