Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=86dd424266530cda55258b2b33d04c23a88b9a9c
Commit:     86dd424266530cda55258b2b33d04c23a88b9a9c
Parent:     3d6d174a0888fe082e87ce1d4a0f1a85044a4515
Author:     Eric Moore <[EMAIL PROTECTED]>
AuthorDate: Thu Jan 4 20:44:01 2007 -0700
Committer:  James Bottomley <[EMAIL PROTECTED]>
CommitDate: Sat Jan 6 09:22:33 2007 -0600

    [SCSI] fusion: fibre channel: return DID_ERROR for 
MPI_IOCSTATUS_SCSI_IOC_TERMINATED
    
    A repost of a patch forwarded by Mikael Reed from 2006-12-20.
    
    The fibre channel IOC may kill a request for a variety of
    reasons, some of which may be recovered by a retry, some of
    which are unlikely to be recovered.  Return DID_ERROR
    instead of DID_RESET to permit retry of the command,
    just not an infinite number of them.
    
    Signed-off-by: Michael Reed <[EMAIL PROTECTED]>
    Signed-off-by: Eric Moore <[EMAIL PROTECTED]>
    Signed-off-by: James Bottomley <[EMAIL PROTECTED]>
---
 drivers/message/fusion/mptscsih.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/drivers/message/fusion/mptscsih.c 
b/drivers/message/fusion/mptscsih.c
index 2c72c36..076eb2b 100644
--- a/drivers/message/fusion/mptscsih.c
+++ b/drivers/message/fusion/mptscsih.c
@@ -701,6 +701,17 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, 
MPT_FRAME_HDR *mr)
                                                break;
                                        }
                                }
+                       } else if (ioc->bus_type == FC) {
+                               /*
+                                * The FC IOC may kill a request for variety of
+                                * reasons, some of which may be recovered by a
+                                * retry, some which are unlikely to be
+                                * recovered. Return DID_ERROR instead of
+                                * DID_RESET to permit retry of the command,
+                                * just not an infinite number of them
+                                */
+                               sc->result = DID_ERROR << 16;
+                               break;
                        }
 
                        /*
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to