/* @node: &struct plist_node pointer - entry to be removed @head: &struct plist_head pointer - list head  */
void plist_del(struct plist_node *node, struct plist_head *head)
/* @node: &struct plist_node pointer - entry to be removed @head: &struct plist_head pointer - list head  */
void plist_del(struct plist_node *node, struct plist_head *head)
{
	plist_check_head(head);
	if (!list_empty(&node->plist.prio_list)) {
		struct plist_node *next = plist_first(&node->plist);
		list_move_tail(&next->plist.prio_list, &node->plist.prio_list);
		list_del_init(&node->plist.prio_list);
	}
	list_del_init(&node->plist.node_list);
	plist_check_head(head);
}