if (tmp->users == 0){ 
if (tmp->users == 0) { 
__qeth_insert_ip_todo(struct qeth_card *card, struct qeth_ipaddr *addr, int add){	struct qeth_ipaddr *tmp, *t;	int found = 0;	list_for_each_entry_safe(tmp, t, card->ip_tbd_list, entry) {		if ((addr->type == QETH_IP_TYPE_DEL_ALL_MC) &&		    (tmp->type == QETH_IP_TYPE_DEL_ALL_MC))			return 0;		if ((tmp->proto        == QETH_PROT_IPV4)     &&		    (addr->proto       == QETH_PROT_IPV4)     &&		    (tmp->type         == addr->type)         &&		    (tmp->is_multicast == addr->is_multicast) &&		    (tmp->u.a4.addr    == addr->u.a4.addr)    &&		    (tmp->u.a4.mask    == addr->u.a4.mask)      ){			found = 1;			break;		}		if ((tmp->proto        == QETH_PROT_IPV6)      &&		    (addr->proto       == QETH_PROT_IPV6)      &&		    (tmp->type         == addr->type)          &&		    (tmp->is_multicast == addr->is_multicast)  &&		    (tmp->u.a6.pfxlen  == addr->u.a6.pfxlen)   &&		    (memcmp(&tmp->u.a6.addr, &addr->u.a6.addr,			    sizeof(struct in6_addr)) == 0)        ){			found = 1;			break;		}	}	if (found){		if (addr->users != 0)			tmp->users += addr->users;		else			tmp->users += add? 1:-1;		if (tmp->users == 0){			list_del(&tmp->entry);			kfree(tmp);		}		return 0;	} else {		if (addr->type == QETH_IP_TYPE_DEL_ALL_MC)			list_add(&addr->entry, card->ip_tbd_list);		else {			if (addr->users == 0)				addr->users += add? 1:-1;			if (add && (addr->type == QETH_IP_TYPE_NORMAL) &&			    qeth_is_addr_covered_by_ipato(card, addr)){				QETH_DBF_TEXT(trace, 2, "tkovaddr");				addr->set_flags |= QETH_IPA_SETIP_TAKEOVER_FLAG;			}			list_add_tail(&addr->entry, card->ip_tbd_list);		}		return 1;	}}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/6c88ad2ded1de1fe87e917b4a0a45873939c16e1/qeth_main.c/buggy/drivers/s390/net/qeth_main.c