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);   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);		}		}}