diff options
-rw-r--r-- | include/linux/llist.h | 5 | ||||
-rw-r--r-- | kernel/irq_work.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/include/linux/llist.h b/include/linux/llist.h index 27bbdf5ddf82..e2e96d04ee48 100644 --- a/include/linux/llist.h +++ b/include/linux/llist.h | |||
@@ -138,6 +138,11 @@ static inline bool llist_empty(const struct llist_head *head) | |||
138 | return ACCESS_ONCE(head->first) == NULL; | 138 | return ACCESS_ONCE(head->first) == NULL; |
139 | } | 139 | } |
140 | 140 | ||
141 | static inline struct llist_node *llist_next(struct llist_node *node) | ||
142 | { | ||
143 | return node->next; | ||
144 | } | ||
145 | |||
141 | /** | 146 | /** |
142 | * llist_add - add a new entry | 147 | * llist_add - add a new entry |
143 | * @new: new entry to be added | 148 | * @new: new entry to be added |
diff --git a/kernel/irq_work.c b/kernel/irq_work.c index 6f0a4310defd..0e2cde4f380b 100644 --- a/kernel/irq_work.c +++ b/kernel/irq_work.c | |||
@@ -110,7 +110,7 @@ void irq_work_run(void) | |||
110 | while (llnode != NULL) { | 110 | while (llnode != NULL) { |
111 | work = llist_entry(llnode, struct irq_work, llnode); | 111 | work = llist_entry(llnode, struct irq_work, llnode); |
112 | 112 | ||
113 | llnode = llnode->next; | 113 | llnode = llist_next(llnode); |
114 | 114 | ||
115 | /* | 115 | /* |
116 | * Clear the PENDING bit, after this point the @work | 116 | * Clear the PENDING bit, after this point the @work |