+static inline int list_member(struct list_head *member)
+{
+ return ((!member->next || !member->prev) ? 0 : 1);
+}
seems wrong to me. A list head which has been removed from its list using
list_del() still points to its old prev & next entries. If removed using
list_del_init(), those pointers are reinitialised to point at itself.
ie you only need list_empty(). Are you abusing list.h somehow?
-- Revolutions do not require corporate support. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/