I saw an lport debug message from the exchange manager saying:
"lport  70500: Received response for out of range oxid:ffff"

A trace showed this was a BA_RJT sent due to an incoming ABTS
which arrived on an unknown exchange.  So, the sender of the
BA_RJT was in error, but in this case, both the initiator and
responder were the same machine.

The OX_ID and RX_ID should not have been reversed in this case.

Signed-off-by: Joe Eykholt <[email protected]>
---
 drivers/scsi/libfc/fc_exch.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)


diff --git a/drivers/scsi/libfc/fc_exch.c b/drivers/scsi/libfc/fc_exch.c
index b51db15..c1c1574 100644
--- a/drivers/scsi/libfc/fc_exch.c
+++ b/drivers/scsi/libfc/fc_exch.c
@@ -1017,8 +1017,8 @@ static void fc_exch_send_ba_rjt(struct fc_frame *rx_fp,
         */
        memcpy(fh->fh_s_id, rx_fh->fh_d_id, 3);
        memcpy(fh->fh_d_id, rx_fh->fh_s_id, 3);
-       fh->fh_ox_id = rx_fh->fh_rx_id;
-       fh->fh_rx_id = rx_fh->fh_ox_id;
+       fh->fh_ox_id = rx_fh->fh_ox_id;
+       fh->fh_rx_id = rx_fh->fh_rx_id;
        fh->fh_seq_cnt = rx_fh->fh_seq_cnt;
        fh->fh_r_ctl = FC_RCTL_BA_RJT;
        fh->fh_type = FC_TYPE_BLS;


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

Reply via email to