diff options
-rw-r--r-- | kernel/irq_work.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/kernel/irq_work.c b/kernel/irq_work.c index bcf107ce0854..e2ebe8c71e8f 100644 --- a/kernel/irq_work.c +++ b/kernel/irq_work.c | |||
@@ -138,11 +138,7 @@ static void irq_work_run_list(struct llist_head *list) | |||
138 | return; | 138 | return; |
139 | 139 | ||
140 | llnode = llist_del_all(list); | 140 | llnode = llist_del_all(list); |
141 | while (llnode != NULL) { | 141 | llist_for_each_entry(work, llnode, llnode) { |
142 | work = llist_entry(llnode, struct irq_work, llnode); | ||
143 | |||
144 | llnode = llist_next(llnode); | ||
145 | |||
146 | /* | 142 | /* |
147 | * Clear the PENDING bit, after this point the @work | 143 | * Clear the PENDING bit, after this point the @work |
148 | * can be re-used. | 144 | * can be re-used. |