mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
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 ea51190c03
("irq_poll: fold irq_poll_sched_prep into irq_poll_sched").
Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
9506902b7b
commit
2ee177e945
@ -29,7 +29,7 @@ void irq_poll_sched(struct irq_poll *iop)
|
||||
|
||||
if (test_bit(IRQ_POLL_F_DISABLE, &iop->state))
|
||||
return;
|
||||
if (!test_and_set_bit(IRQ_POLL_F_SCHED, &iop->state))
|
||||
if (test_and_set_bit(IRQ_POLL_F_SCHED, &iop->state))
|
||||
return;
|
||||
|
||||
local_irq_save(flags);
|
||||
|
Loading…
Reference in New Issue
Block a user