printk(KERN_WARNING "IPMI: BT reset (takes 5 secs)\n"); 
printk(KERN_DEBUG "IPMI: BT reset (takes 5 secs)\n"); 
static void error_recovery(struct si_sm_data *bt, char *reason){	unsigned char status;	char buf[40]; /* For getting status */	bt->timeout = BT_NORMAL_TIMEOUT; /* various places want to retry */	status = BT_STATUS;	printk(KERN_WARNING "BT: %s in %s %s ", reason, STATE2TXT,	       STATUS2TXT(buf));	(bt->error_retries)++;	if (bt->error_retries > BT_RETRY_LIMIT) {		printk("retry limit (%d) exceeded\n", BT_RETRY_LIMIT);		bt->state = BT_STATE_HOSED;		if (!bt->nonzero_status)			printk(KERN_ERR "IPMI: BT stuck, try power cycle\n");		else if (bt->seq == FIRST_SEQ + BT_RETRY_LIMIT) {			/* most likely during insmod */			printk(KERN_WARNING "IPMI: BT reset (takes 5 secs)\n");        		bt->state = BT_STATE_RESET1;		}	return;	}	/* Sometimes the BMC queues get in an "off-by-one" state...*/	if ((bt->state == BT_STATE_B2H_WAIT) && (status & BT_B2H_ATN)) {    		printk("retry B2H_WAIT\n");		return;	}	printk("restart command\n");	bt->state = BT_STATE_RESTART;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/c4edff1c19ef23e15aae64ca03f32c6719822d54/ipmi_bt_sm.c/clean/drivers/char/ipmi/ipmi_bt_sm.c