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 328ddce87f12a22873362f5773da5f286feb0ea9..db4a04a207ecee98a15e702f18cc20d59d52bcfd 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;