]> 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)
commit5f45647d6e74c2cf4b889db9d1ef16f68054b4ab
treeb4c749cfa433a3cf7d330c40cbd174098c76669c
parenteafb412a7cf5c16622df922c2c4e6036cd7ec0d0
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