Moved storing of exch in mp->exches so that exch will be
also stored if exch id(xid) is specified by low level driver.

Signed-off-by: Vasu Dev <[EMAIL PROTECTED]>
---

 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 c9161ee..a1d364a 100644
--- a/drivers/scsi/libfc/fc_exch.c
+++ b/drivers/scsi/libfc/fc_exch.c
@@ -506,7 +506,6 @@ struct fc_exch *fc_exch_alloc(struct fc_exch_mgr *mp, u16 
xid)
                }
 
                if (likely(mp->exches[xid - min_xid] == NULL)) {
-                       mp->exches[xid - min_xid] = ep;
                        mp->last_xid = xid;
                } else {
                        spin_unlock_bh(&mp->em_lock);
@@ -516,6 +515,7 @@ struct fc_exch *fc_exch_alloc(struct fc_exch_mgr *mp, u16 
xid)
                }
        }
 
+       mp->exches[xid - min_xid] = ep;
        list_add_tail(&ep->ex_list, &mp->ex_list);
        fc_seq_alloc(ep, ep->seq_id++);
        mp->total_exches++;

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

Reply via email to