According to FCP-3, 12.5, we should use 2 times R_A_TOV_els as the time
out value for the fcp abort exchange time out. This way, when the abort
itself is timed out, e.g., the abort frame gets lost on the wire, the
exch layer would indicate to fcp that we have a FC_EX_TIMEOUT.

Signed-off-by: Yi Zou <[email protected]>
---

 drivers/scsi/libfc/fc_fcp.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/libfc/fc_fcp.c b/drivers/scsi/libfc/fc_fcp.c
index 651447f..2159ec1 100644
--- a/drivers/scsi/libfc/fc_fcp.c
+++ b/drivers/scsi/libfc/fc_fcp.c
@@ -266,7 +266,7 @@ static int fc_fcp_send_abort(struct fc_fcp_pkt *fsp)
                return 0;
 
        fsp->state |= FC_SRB_ABORT_PENDING;
-       return fsp->lp->tt.seq_exch_abort(fsp->seq_ptr, 0);
+       return fsp->lp->tt.seq_exch_abort(fsp->seq_ptr, 2 * fsp->lp->r_a_tov);
 }
 
 /**
@@ -1171,7 +1171,7 @@ static void fc_fcp_error(struct fc_fcp_pkt *fsp, struct 
fc_frame *fp)
        if (fc_fcp_lock_pkt(fsp))
                return;
 
-       if (error == -FC_EX_CLOSED) {
+       if ((error == -FC_EX_CLOSED) || (error == -FC_EX_TIMEOUT)) {
                fc_fcp_retry_cmd(fsp);
                goto unlock;
        }

_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel

Reply via email to