/* Arguments: node_data : input. list_header_input : input. Return value: 0 : success !0 : fail note:  */
s32 list_node_exist(void *data, struct usb_list_head *list_head)
/* Arguments: node_data : input. list_header_input : input. Return value: 0 : success !0 : fail note:  */
s32 list_node_exist(void *data, struct usb_list_head *list_head)
{
    struct usb_list_head *list_start = NULL;
    struct usb_list_head *list_now = NULL;
    __u32 cup_sr    = 0;
    if (data == NULL || list_head == NULL)
    {
        hal_log_err("ERR : list_node_exist: input == NULL");
        return -1;
    }
    hal_spin_lock(&list_lock);
    list_start = list_head;
    list_now = list_start->next;
    while (list_now != list_start)
    {
        if (list_now->data == data)
        {
            hal_spin_unlock(&list_lock);
            return 0;
        }
        list_now = list_now->next;
    }
    hal_spin_unlock(&list_lock);
    return -1;
}