irq_work: Fix IRQ_WORK_BUSY bit clearing
[sfrench/cifs-2.6.git] / kernel / irq_work.c
index 49c53f80a13ac76b58fa1946a4bca963c1f3b0cf..828cc30774bc4d76f498503b083dad428dbf0baa 100644 (file)
@@ -158,6 +158,7 @@ static void irq_work_run_list(struct llist_head *list)
                 * Clear the BUSY bit and return to the free state if
                 * no-one else claimed it meanwhile.
                 */
+               flags &= ~IRQ_WORK_PENDING;
                (void)atomic_cmpxchg(&work->flags, flags, flags & ~IRQ_WORK_BUSY);
        }
 }