scsi: lpfc: revise nvme max queues to be hdwq count
authorJames Smart <jsmart2021@gmail.com>
Mon, 11 Nov 2019 23:04:00 +0000 (15:04 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 13 Nov 2019 03:21:33 +0000 (22:21 -0500)
Driver is setting the initiator nvme template with a max hw queues value of
the present cpu count which is odd. It should be registering the number of
hdwq queues (queues created on the adapter).

Change to set nvme tempate, in all cases, to the number of hardware queues.

Link: https://lore.kernel.org/r/20191111230401.12958-6-jsmart2021@gmail.com
Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_nvme.c

index 328ddce..db4a04a 100644 (file)
@@ -2148,12 +2148,10 @@ lpfc_nvme_create_localport(struct lpfc_vport *vport)
         */
        lpfc_nvme_template.max_sgl_segments = phba->cfg_nvme_seg_cnt + 1;
 
-       /* Advertise how many hw queues we support based on fcp_io_sched */
-       if (phba->cfg_fcp_io_sched == LPFC_FCP_SCHED_BY_HDWQ)
-               lpfc_nvme_template.max_hw_queues = phba->cfg_hdw_queue;
-       else
-               lpfc_nvme_template.max_hw_queues =
-                       phba->sli4_hba.num_present_cpu;
+       /* Advertise how many hw queues we support based on cfg_hdw_queue,
+        * which will not exceed cpu count.
+        */
+       lpfc_nvme_template.max_hw_queues = phba->cfg_hdw_queue;
 
        if (!IS_ENABLED(CONFIG_NVME_FC))
                return ret;