Rev 6082 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6082 | Rev 6934 | ||
---|---|---|---|
Line 85... | Line 85... | ||
85 | * the prev/next entries already! |
85 | * the prev/next entries already! |
86 | */ |
86 | */ |
87 | static inline void __list_del(struct list_head * prev, struct list_head * next) |
87 | static inline void __list_del(struct list_head * prev, struct list_head * next) |
88 | { |
88 | { |
89 | next->prev = prev; |
89 | next->prev = prev; |
90 | prev->next = next; |
90 | WRITE_ONCE(prev->next, next); |
91 | } |
91 | } |
Line 92... | Line 92... | ||
92 | 92 | ||
93 | /** |
93 | /** |
94 | * list_del - deletes entry from list. |
94 | * list_del - deletes entry from list. |
Line 613... | Line 613... | ||
613 | 613 | ||
614 | static inline void __hlist_del(struct hlist_node *n) |
614 | static inline void __hlist_del(struct hlist_node *n) |
615 | { |
615 | { |
616 | struct hlist_node *next = n->next; |
616 | struct hlist_node *next = n->next; |
- | 617 | struct hlist_node **pprev = n->pprev; |
|
617 | struct hlist_node **pprev = n->pprev; |
618 | |
618 | *pprev = next; |
619 | WRITE_ONCE(*pprev, next); |
619 | if (next) |
620 | if (next) |
620 | next->pprev = pprev; |
621 | next->pprev = pprev; |
Line 621... | Line 622... | ||
621 | } |
622 | } |