aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_mem.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_mem.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_mem.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/scsi/lpfc/lpfc_mem.c b/drivers/scsi/lpfc/lpfc_mem.c
index 8f879e477e9d..cbb48ee8b0bb 100644
--- a/drivers/scsi/lpfc/lpfc_mem.c
+++ b/drivers/scsi/lpfc/lpfc_mem.c
@@ -113,11 +113,16 @@ lpfc_mem_alloc(struct lpfc_hba *phba, int align)
113 goto fail_free_mbox_pool; 113 goto fail_free_mbox_pool;
114 114
115 if (phba->sli_rev == LPFC_SLI_REV4) { 115 if (phba->sli_rev == LPFC_SLI_REV4) {
116 phba->rrq_pool =
117 mempool_create_kmalloc_pool(LPFC_MEM_POOL_SIZE,
118 sizeof(struct lpfc_node_rrq));
119 if (!phba->rrq_pool)
120 goto fail_free_nlp_mem_pool;
116 phba->lpfc_hrb_pool = pci_pool_create("lpfc_hrb_pool", 121 phba->lpfc_hrb_pool = pci_pool_create("lpfc_hrb_pool",
117 phba->pcidev, 122 phba->pcidev,
118 LPFC_HDR_BUF_SIZE, align, 0); 123 LPFC_HDR_BUF_SIZE, align, 0);
119 if (!phba->lpfc_hrb_pool) 124 if (!phba->lpfc_hrb_pool)
120 goto fail_free_nlp_mem_pool; 125 goto fail_free_rrq_mem_pool;
121 126
122 phba->lpfc_drb_pool = pci_pool_create("lpfc_drb_pool", 127 phba->lpfc_drb_pool = pci_pool_create("lpfc_drb_pool",
123 phba->pcidev, 128 phba->pcidev,
@@ -147,6 +152,9 @@ lpfc_mem_alloc(struct lpfc_hba *phba, int align)
147 fail_free_hrb_pool: 152 fail_free_hrb_pool:
148 pci_pool_destroy(phba->lpfc_hrb_pool); 153 pci_pool_destroy(phba->lpfc_hrb_pool);
149 phba->lpfc_hrb_pool = NULL; 154 phba->lpfc_hrb_pool = NULL;
155 fail_free_rrq_mem_pool:
156 mempool_destroy(phba->rrq_pool);
157 phba->rrq_pool = NULL;
150 fail_free_nlp_mem_pool: 158 fail_free_nlp_mem_pool:
151 mempool_destroy(phba->nlp_mem_pool); 159 mempool_destroy(phba->nlp_mem_pool);
152 phba->nlp_mem_pool = NULL; 160 phba->nlp_mem_pool = NULL;