X-Git-Url: http://git.cascardo.info/?a=blobdiff_plain;f=lib%2Firq_poll.c;h=836f7db4e548e8142b09f8b6d147d926d42a3f99;hb=87bbcfdecc5579042459bb42ede81ed23e4b9a79;hp=43a3370a09fd69769f0817dda7829e535587d859;hpb=ea51190c03150fce4d9e428bfb608abbe0991db8;p=cascardo%2Flinux.git diff --git a/lib/irq_poll.c b/lib/irq_poll.c index 43a3370a09fd..836f7db4e548 100644 --- a/lib/irq_poll.c +++ b/lib/irq_poll.c @@ -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); @@ -47,13 +47,12 @@ EXPORT_SYMBOL(irq_poll_sched); * See irq_poll_complete(). This function must be called with interrupts * disabled. **/ -void __irq_poll_complete(struct irq_poll *iop) +static void __irq_poll_complete(struct irq_poll *iop) { list_del(&iop->list); smp_mb__before_atomic(); clear_bit_unlock(IRQ_POLL_F_SCHED, &iop->state); } -EXPORT_SYMBOL(__irq_poll_complete); /** * irq_poll_complete - Mark this @iop as un-polled again @@ -122,7 +121,7 @@ static void irq_poll_softirq(struct softirq_action *h) * move the instance around on the list at-will. */ if (work >= weight) { - if (irq_poll_disable_pending(iop)) + if (test_bit(IRQ_POLL_F_DISABLE, &iop->state)) __irq_poll_complete(iop); else list_move_tail(&iop->list, list);