diff options
author | Kashyap, Desai <kashyap.desai@lsi.com> | 2010-03-18 09:42:17 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-04-11 10:24:04 -0400 |
commit | d0f698c46141e1d179fb3a86a0ae668d2fd12916 (patch) | |
tree | a66e2ba2f34ea63d1568a46270c5414e842dad1d /drivers/message/fusion/mptscsih.c | |
parent | 1a7d7eac6f651c00e954023dd2542f0c65ef66b7 (diff) |
[SCSI] mptfusion: Added new less expensive RESET (Message Unit Reset)
Message Unit Reset - instructs the IOC to reset the Reply Post and
Free FIFO's. All the Message Frames on Reply Free FIFO are
discarded. All posted buffers are freed, and event notification is
turned off. IOC doesnt reply to any outstanding request. This will
transfer IOC to READY state. Message unit ready is less expensive
operations than Hard Reset. soft reset will not force Firmware to
reload again, it only do clean up of Message units.
mpt_Soft_Hard_ResetHandler will first try for Soft Reset,if
it fails then go for big hammer reset which is Hard Reset.
Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/message/fusion/mptscsih.c')
-rw-r--r-- | drivers/message/fusion/mptscsih.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/message/fusion/mptscsih.c b/drivers/message/fusion/mptscsih.c index 6796597dcee0..929d584855d2 100644 --- a/drivers/message/fusion/mptscsih.c +++ b/drivers/message/fusion/mptscsih.c | |||
@@ -1711,7 +1711,7 @@ mptscsih_IssueTaskMgmt(MPT_SCSI_HOST *hd, u8 type, u8 channel, u8 id, int lun, | |||
1711 | if (issue_hard_reset) { | 1711 | if (issue_hard_reset) { |
1712 | printk(MYIOC_s_WARN_FMT "Issuing Reset from %s!!\n", | 1712 | printk(MYIOC_s_WARN_FMT "Issuing Reset from %s!!\n", |
1713 | ioc->name, __func__); | 1713 | ioc->name, __func__); |
1714 | retval = mpt_HardResetHandler(ioc, CAN_SLEEP); | 1714 | retval = mpt_Soft_Hard_ResetHandler(ioc, CAN_SLEEP); |
1715 | mpt_free_msg_frame(ioc, mf); | 1715 | mpt_free_msg_frame(ioc, mf); |
1716 | } | 1716 | } |
1717 | 1717 | ||
@@ -1991,7 +1991,7 @@ mptscsih_host_reset(struct scsi_cmnd *SCpnt) | |||
1991 | /* If our attempts to reset the host failed, then return a failed | 1991 | /* If our attempts to reset the host failed, then return a failed |
1992 | * status. The host will be taken off line by the SCSI mid-layer. | 1992 | * status. The host will be taken off line by the SCSI mid-layer. |
1993 | */ | 1993 | */ |
1994 | retval = mpt_HardResetHandler(ioc, CAN_SLEEP); | 1994 | retval = mpt_Soft_Hard_ResetHandler(ioc, CAN_SLEEP); |
1995 | if (retval < 0) | 1995 | if (retval < 0) |
1996 | status = FAILED; | 1996 | status = FAILED; |
1997 | else | 1997 | else |
@@ -3040,7 +3040,7 @@ mptscsih_do_cmd(MPT_SCSI_HOST *hd, INTERNAL_CMD *io) | |||
3040 | if (!timeleft) { | 3040 | if (!timeleft) { |
3041 | printk(MYIOC_s_WARN_FMT "Issuing Reset from %s!!\n", | 3041 | printk(MYIOC_s_WARN_FMT "Issuing Reset from %s!!\n", |
3042 | ioc->name, __func__); | 3042 | ioc->name, __func__); |
3043 | mpt_HardResetHandler(ioc, CAN_SLEEP); | 3043 | mpt_Soft_Hard_ResetHandler(ioc, CAN_SLEEP); |
3044 | mpt_free_msg_frame(ioc, mf); | 3044 | mpt_free_msg_frame(ioc, mf); |
3045 | } | 3045 | } |
3046 | goto out; | 3046 | goto out; |