aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/char/ipmi/ipmi_bt_sm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/char/ipmi/ipmi_bt_sm.c b/drivers/char/ipmi/ipmi_bt_sm.c
index 7c4a195dfc9a..58dcdee1cd71 100644
--- a/drivers/char/ipmi/ipmi_bt_sm.c
+++ b/drivers/char/ipmi/ipmi_bt_sm.c
@@ -333,8 +333,7 @@ static void error_recovery(struct si_sm_data *bt, char *reason)
333 bt->state = BT_STATE_HOSED; 333 bt->state = BT_STATE_HOSED;
334 if (!bt->nonzero_status) 334 if (!bt->nonzero_status)
335 printk(KERN_ERR "IPMI: BT stuck, try power cycle\n"); 335 printk(KERN_ERR "IPMI: BT stuck, try power cycle\n");
336 else if (bt->seq == FIRST_SEQ + BT_RETRY_LIMIT) { 336 else if (bt->error_retries <= BT_RETRY_LIMIT + 1) {
337 /* most likely during insmod */
338 printk(KERN_DEBUG "IPMI: BT reset (takes 5 secs)\n"); 337 printk(KERN_DEBUG "IPMI: BT reset (takes 5 secs)\n");
339 bt->state = BT_STATE_RESET1; 338 bt->state = BT_STATE_RESET1;
340 } 339 }
@@ -475,6 +474,7 @@ static enum si_sm_result bt_event(struct si_sm_data *bt, long time)
475 break; 474 break;
476 475
477 case BT_STATE_RESTART: /* don't reset retries! */ 476 case BT_STATE_RESTART: /* don't reset retries! */
477 reset_flags(bt);
478 bt->write_data[2] = ++bt->seq; 478 bt->write_data[2] = ++bt->seq;
479 bt->read_count = 0; 479 bt->read_count = 0;
480 bt->nonzero_status = 0; 480 bt->nonzero_status = 0;