diff options
| author | Kashyap, Desai <kashyap.desai@lsi.com> | 2010-03-18 19:14:51 +0530 | 
|---|---|---|
| committer | James Bottomley <James.Bottomley@suse.de> | 2010-04-11 09:24:06 -0500 | 
| commit | b3b97316d5861b1708cd7ef2df9989d12d97acb9 (patch) | |
| tree | 883371745da007d5f4f3a716cd633dd1f8af23e4 | |
| parent | 7d757f18554070e917f61e7caedf395f940cf853 (diff) | |
| download | olio-linux-3.10-b3b97316d5861b1708cd7ef2df9989d12d97acb9.tar.xz olio-linux-3.10-b3b97316d5861b1708cd7ef2df9989d12d97acb9.zip  | |
[SCSI] mptfusion: mpt config will do Hard Reset based upon retry counts
mpt_config would only attempt a MUR before retrying the command. The
driver will now retry a second time with a hard reset before leaving
the function.
Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
| -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 a4f023bd5d2..a6a57011ba6 100644 --- a/drivers/message/fusion/mptbase.c +++ b/drivers/message/fusion/mptbase.c @@ -6456,10 +6456,15 @@ out:  		issue_hard_reset = 0;  		printk(MYIOC_s_WARN_FMT "Issuing Reset from %s!!\n",  		    ioc->name, __func__); -		mpt_Soft_Hard_ResetHandler(ioc, CAN_SLEEP); +		if (retry_count == 0) { +			if (mpt_Soft_Hard_ResetHandler(ioc, CAN_SLEEP) != 0) +				retry_count++; +		} else +			mpt_HardResetHandler(ioc, CAN_SLEEP); +  		mpt_free_msg_frame(ioc, mf);  		/* attempt one retry for a timed out command */ -		if (!retry_count) { +		if (retry_count < 2) {  			printk(MYIOC_s_INFO_FMT  			    "Attempting Retry Config request"  			    " type 0x%x, page 0x%x,"  |