diff options
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_mem.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_mem.c | 10 |
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; |