free_recv_msg_list(&(intf->waiting_msgs)); free_recv_msg_list(&(intf->waiting_events)); free_cmd_rcvr_list(&(intf->cmd_rcvrs)); 
free_recv_msg_list(&intf->waiting_msgs); free_recv_msg_list(&intf->waiting_events);  /* Wholesale remove all the entries from the list in the * interface and wait for RCU to know that none are in use. */ spin_lock_irqsave(&intf->cmd_rcvrs_lock, flags); list_add_rcu(&list, &intf->cmd_rcvrs); list_del_rcu(&intf->cmd_rcvrs); spin_unlock_irqrestore(&intf->cmd_rcvrs_lock, flags); synchronize_rcu();  list_for_each_entry_safe(rcvr, rcvr2, &list, link) kfree(rcvr); 
static void clean_up_interface_data(ipmi_smi_t intf){	int i;	free_recv_msg_list(&(intf->waiting_msgs));	free_recv_msg_list(&(intf->waiting_events));	free_cmd_rcvr_list(&(intf->cmd_rcvrs));	for (i = 0; i < IPMI_IPMB_NUM_SEQ; i++) {		if ((intf->seq_table[i].inuse)		    && (intf->seq_table[i].recv_msg))		{			ipmi_free_recv_msg(intf->seq_table[i].recv_msg);		}		}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/393d2cc354d150b8b4bb888a9da7db4c935e12bd/ipmi_msghandler.c/clean/drivers/char/ipmi/ipmi_msghandler.c