out: 
static enum si_sm_result start_next_msg(struct smi_info *smi_info){	int              rv;	struct list_head *entry = NULL;#ifdef DEBUG_TIMING	struct timeval t;#endif	/* No need to save flags, we aleady have interrupts off and we	   already hold the SMI lock. */	spin_lock(&(smi_info->msg_lock));	/* Pick the high priority queue first. */	if (! list_empty(&(smi_info->hp_xmit_msgs))) {		entry = smi_info->hp_xmit_msgs.next;	} else if (! list_empty(&(smi_info->xmit_msgs))) {		entry = smi_info->xmit_msgs.next;	}	if (! entry) {		smi_info->curr_msg = NULL;		rv = SI_SM_IDLE;	} else {		int err;		list_del(entry);		smi_info->curr_msg = list_entry(entry,						struct ipmi_smi_msg,						link);#ifdef DEBUG_TIMING		do_gettimeofday(&t);		printk("**Start2: %d.%9.9d\n", t.tv_sec, t.tv_usec);#endif		err = smi_info->handlers->start_transaction(			smi_info->si_sm,			smi_info->curr_msg->data,			smi_info->curr_msg->data_size);		if (err) {			return_hosed_msg(smi_info);		}		rv = SI_SM_CALL_WITHOUT_DELAY;	}	spin_unlock(&(smi_info->msg_lock));	return rv;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/ea94027b92dd0d02d238d5984cd9089343c1d6cc/ipmi_si_intf.c/clean/drivers/char/ipmi/ipmi_si_intf.c