[Open-FCoE] [PATCH 1/3] libfc: removed completing FCP exch in abort response

Vasu Dev vasu.dev at intel.com
Wed Sep 17 01:03:48 UTC 2008


The FC_TYPE_FCP check on abort response frame BA_RJT freed
the fsp exch in fc_exch_abts_resp(). Instead we should
be checking FC_TYPE_FCP against stored fh_type in fsp exch.

The abort reject response was freeing fsp exch here
while fsp would still use this fsp exch in scsi-ml eh-ing
since currently FCP ignores all BA_RJT response leaving
fsp unfinished for scsi-ml eh-ing.

Signed-off-by: Vasu Dev <vasu.dev at intel.com>
---

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


diff --git a/drivers/scsi/libfc/fc_exch.c b/drivers/scsi/libfc/fc_exch.c
index 6b5a35b..8fa45aa 100644
--- a/drivers/scsi/libfc/fc_exch.c
+++ b/drivers/scsi/libfc/fc_exch.c
@@ -1361,7 +1361,7 @@ static void fc_exch_abts_resp(struct fc_exch *ep, struct fc_frame *fp)
 	/*
 	 * do we want to check END_SEQ as well as LAST_SEQ here?
 	 */
-	if (fh->fh_type != FC_TYPE_FCP &&
+	if (ep->fh_type != FC_TYPE_FCP &&
 	    ntoh24(fh->fh_f_ctl) & FC_FC_LAST_SEQ)
 		rc = fc_exch_done_locked(ep);
 	spin_unlock_bh(&ep->ex_lock);




More information about the devel mailing list