diff options
-rw-r--r-- | drivers/message/fusion/mptbase.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c index a4f023bd5d2b..a6a57011ba6c 100644 --- a/drivers/message/fusion/mptbase.c +++ b/drivers/message/fusion/mptbase.c | |||
@@ -6456,10 +6456,15 @@ out: | |||
6456 | issue_hard_reset = 0; | 6456 | issue_hard_reset = 0; |
6457 | printk(MYIOC_s_WARN_FMT "Issuing Reset from %s!!\n", | 6457 | printk(MYIOC_s_WARN_FMT "Issuing Reset from %s!!\n", |
6458 | ioc->name, __func__); | 6458 | ioc->name, __func__); |
6459 | mpt_Soft_Hard_ResetHandler(ioc, CAN_SLEEP); | 6459 | if (retry_count == 0) { |
6460 | if (mpt_Soft_Hard_ResetHandler(ioc, CAN_SLEEP) != 0) | ||
6461 | retry_count++; | ||
6462 | } else | ||
6463 | mpt_HardResetHandler(ioc, CAN_SLEEP); | ||
6464 | |||
6460 | mpt_free_msg_frame(ioc, mf); | 6465 | mpt_free_msg_frame(ioc, mf); |
6461 | /* attempt one retry for a timed out command */ | 6466 | /* attempt one retry for a timed out command */ |
6462 | if (!retry_count) { | 6467 | if (retry_count < 2) { |
6463 | printk(MYIOC_s_INFO_FMT | 6468 | printk(MYIOC_s_INFO_FMT |
6464 | "Attempting Retry Config request" | 6469 | "Attempting Retry Config request" |
6465 | " type 0x%x, page 0x%x," | 6470 | " type 0x%x, page 0x%x," |