scsi: qla2xxx: Fix NVMe session down detection
authorQuinn Tran <qutran@marvell.com>
Tue, 17 Aug 2021 05:13:13 +0000 (22:13 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 24 Aug 2021 02:36:54 +0000 (22:36 -0400)
commit7a8ff7d9854a1727435557184c8255bbbca60920
tree7e5543d3e3a2592f8e3a683debe8c3c01a9af3d7
parentf88444570072a6863f3e2bd67878560a51b187f2
scsi: qla2xxx: Fix NVMe session down detection

When Target port transitions personality from one to another (NVMe <-->
FCP), there could be some overlap of the two where one layer is going down
while the other layer is coming up. This overlap can cause temporary I/O
error. Detect those errors/transitions and recover from them. Triggers
session tear down and allow relogin to re-drive the connection under the
following conditions:

 - NVMe command error

 - On PRLO + N2N (rida format 2)

Link: https://lore.kernel.org/r/20210817051315.2477-11-njavali@marvell.com
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_attr.c
drivers/scsi/qla2xxx/qla_isr.c
drivers/scsi/qla2xxx/qla_mbx.c