scsi: qedf: Return request as DID_NO_CONNECT if MSI-X is not enabled
authorChad Dupuis <chad.dupuis@cavium.com>
Wed, 25 Apr 2018 13:08:54 +0000 (06:08 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 8 May 2018 04:57:10 +0000 (00:57 -0400)
Signed-off-by: Chad Dupuis <chad.dupuis@cavium.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qedf/qedf_io.c

index 94d6455c9ddc43cff03899cd9b880bd40377a613..78cbd126c7e58ea0e44dd52cda8a017b7b09dee3 100644 (file)
@@ -931,6 +931,15 @@ qedf_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *sc_cmd)
                return 0;
        }
 
+       if (!qedf->pdev->msix_enabled) {
+               QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_IO,
+                   "Completing sc_cmd=%p DID_NO_CONNECT as MSI-X is not enabled.\n",
+                   sc_cmd);
+               sc_cmd->result = DID_NO_CONNECT << 16;
+               sc_cmd->scsi_done(sc_cmd);
+               return 0;
+       }
+
        rval = fc_remote_port_chkready(rport);
        if (rval) {
                sc_cmd->result = rval;