I am not able to understand how the marked like skips the node n : static inline void __hlist_del(struct hlist_node *n) { struct hlist_node *next = n->next; struct hlist_node **pprev = n->pprev; *pprev = next; <--------------------------------------------------- ???? if (next) next->pprev = pprev; }
in this case static inline void __list_del(struct list_head * prev, struct list_head * next) { next->prev = prev; prev->next = next; } It is clear ... Please help. Regards, Onkar