summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/llist.h5
-rw-r--r--kernel/irq_work.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/include/linux/llist.h b/include/linux/llist.h
index 27bbdf5ddf8..e2e96d04ee4 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)
return ACCESS_ONCE(head->first) == NULL;
}
+static inline struct llist_node *llist_next(struct llist_node *node)
+{
+ return node->next;
+}
+
/**
* llist_add - add a new entry
* @new: new entry to be added
diff --git a/kernel/irq_work.c b/kernel/irq_work.c
index 6f0a4310def..0e2cde4f380 100644
--- a/kernel/irq_work.c
+++ b/kernel/irq_work.c
@@ -110,7 +110,7 @@ void irq_work_run(void)
while (llnode != NULL) {
work = llist_entry(llnode, struct irq_work, llnode);
- llnode = llnode->next;
+ llnode = llist_next(llnode);
/*
* Clear the PENDING bit, after this point the @work