scsi: qla2xxx: Fix NVMe session hang on unload
authorQuinn Tran <quinn.tran@cavium.com>
Thu, 27 Sep 2018 05:05:11 +0000 (22:05 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 21 Nov 2018 08:19:14 +0000 (09:19 +0100)
commit f7d61c995df74d6bb57bbff6a2b7b1874c4a2baa upstream.

Send aborts only when chip is active.

Fixes: 623ee824e579 ("scsi: qla2xxx: Fix FC-NVMe IO abort during driver reset")
Cc: <stable@vger.kernel.org> # 4.14
Signed-off-by: Quinn Tran <quinn.tran@cavium.com>
Reviewed-by: Ewan D. Milne <emilne@redhat.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/scsi/qla2xxx/qla_nvme.c

index 20d9dc3..8dc7a5c 100644 (file)
@@ -607,7 +607,7 @@ void qla_nvme_abort(struct qla_hw_data *ha, struct srb *sp, int res)
 {
        int rval;
 
-       if (!test_bit(ABORT_ISP_ACTIVE, &sp->vha->dpc_flags)) {
+       if (ha->flags.fw_started) {
                rval = ha->isp_ops->abort_command(sp);
                if (!rval && !qla_nvme_wait_on_command(sp))
                        ql_log(ql_log_warn, NULL, 0x2112,