mirror of https://gitee.com/openkylin/linux.git
[SCSI] libfc: don't swap OX_ID and RX_ID when sending BA_RJT
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 <jeykholt@cisco.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
parent
2ab7e1ecb8
commit
1d490ce33e
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue