|
@@ -6927,18 +6927,6 @@ lpfc_sli4_hba_setup(struct lpfc_hba *phba)
|
|
|
cnt = phba->cfg_iocb_cnt * 1024;
|
|
|
/* We need 1 iocbq for every SGL, for IO processing */
|
|
|
cnt += phba->sli4_hba.nvmet_xri_cnt;
|
|
|
- /* Initialize and populate the iocb list per host */
|
|
|
- lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
|
|
|
- "2821 initialize iocb list %d total %d\n",
|
|
|
- phba->cfg_iocb_cnt, cnt);
|
|
|
- rc = lpfc_init_iocb_list(phba, cnt);
|
|
|
- if (rc) {
|
|
|
- lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
|
|
|
- "1413 Failed to init iocb list.\n");
|
|
|
- goto out_destroy_queue;
|
|
|
- }
|
|
|
-
|
|
|
- lpfc_nvmet_create_targetport(phba);
|
|
|
} else {
|
|
|
/* update host scsi xri-sgl sizes and mappings */
|
|
|
rc = lpfc_sli4_scsi_sgl_update(phba);
|
|
@@ -6959,18 +6947,24 @@ lpfc_sli4_hba_setup(struct lpfc_hba *phba)
|
|
|
}
|
|
|
|
|
|
cnt = phba->cfg_iocb_cnt * 1024;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!phba->sli.iocbq_lookup) {
|
|
|
/* Initialize and populate the iocb list per host */
|
|
|
lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
|
|
|
- "2820 initialize iocb list %d total %d\n",
|
|
|
+ "2821 initialize iocb list %d total %d\n",
|
|
|
phba->cfg_iocb_cnt, cnt);
|
|
|
rc = lpfc_init_iocb_list(phba, cnt);
|
|
|
if (rc) {
|
|
|
lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
|
|
|
- "6301 Failed to init iocb list.\n");
|
|
|
+ "1413 Failed to init iocb list.\n");
|
|
|
goto out_destroy_queue;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ if (phba->nvmet_support)
|
|
|
+ lpfc_nvmet_create_targetport(phba);
|
|
|
+
|
|
|
if (phba->nvmet_support && phba->cfg_nvmet_mrq) {
|
|
|
/* Post initial buffers to all RQs created */
|
|
|
for (i = 0; i < phba->cfg_nvmet_mrq; i++) {
|