]> git.baikalelectronics.ru Git - kernel.git/commit
scsi: qla2xxx: Add logic to detect ABTS hang and response completion
authorQuinn Tran <quinn.tran@cavium.com>
Tue, 4 Sep 2018 21:19:12 +0000 (14:19 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 12 Sep 2018 00:28:08 +0000 (20:28 -0400)
commit65d718491ccb5ac83b2d6320008fc517f77b3597
treeb4c749cfa433a3cf7d330c40cbd174098c76669c
parenta991ce2769533c84da4af36a1c2446dfb938f8e6
scsi: qla2xxx: Add logic to detect ABTS hang and response completion

ABTS error completion can trigger an exchange cleanup from the driver and
another ABTS response will be generated.  This retry of ABTS response can
cause loop between driver trying to send ABTS and firmware returning error.

This patch fixes this issue by adding logic to check for unresolved exchanges
and clean up before ABTS is retried.  This patch also addes the fix to use the
same qpair as the ABTS completion for the terminatation of exchange as well as
retry of ABTS response.

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>
drivers/scsi/qla2xxx/qla_def.h
drivers/scsi/qla2xxx/qla_os.c
drivers/scsi/qla2xxx/qla_target.c