mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-20 10:56:07 +07:00
scsi: qla2xxx: Fix Inquiry command being dropped in Target mode
When a connection is established, the target core session may not be created immediately. Current code will drop/terminate the command based on the session state. This patch will return BUSY status for any commands arriving on wire before the session is created. Signed-off-by: Quinn Tran <quinn.tran@cavium.com> Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
cc28e0ace9
commit
8ea4faf829
@ -5140,10 +5140,15 @@ static int __qlt_send_busy(struct qla_qpair *qpair,
|
||||
struct fc_port *sess = NULL;
|
||||
unsigned long flags;
|
||||
u16 temp;
|
||||
port_id_t id;
|
||||
|
||||
id.b.al_pa = atio->u.isp24.fcp_hdr.s_id[2];
|
||||
id.b.area = atio->u.isp24.fcp_hdr.s_id[1];
|
||||
id.b.domain = atio->u.isp24.fcp_hdr.s_id[0];
|
||||
id.b.rsvd_1 = 0;
|
||||
|
||||
spin_lock_irqsave(&ha->tgt.sess_lock, flags);
|
||||
sess = ha->tgt.tgt_ops->find_sess_by_s_id(vha,
|
||||
atio->u.isp24.fcp_hdr.s_id);
|
||||
sess = qla2x00_find_fcport_by_nportid(vha, &id, 1);
|
||||
spin_unlock_irqrestore(&ha->tgt.sess_lock, flags);
|
||||
if (!sess) {
|
||||
qlt_send_term_exchange(qpair, NULL, atio, 1, 0);
|
||||
|
Loading…
Reference in New Issue
Block a user