aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/lightnvm/pblk-init.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/lightnvm/pblk-init.c')
-rw-r--r--drivers/lightnvm/pblk-init.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/lightnvm/pblk-init.c b/drivers/lightnvm/pblk-init.c
index cd10f2d74cf9..a9115ff9555f 100644
--- a/drivers/lightnvm/pblk-init.c
+++ b/drivers/lightnvm/pblk-init.c
@@ -355,9 +355,9 @@ static void pblk_line_meta_free(struct pblk *pblk)
355 kfree(l_mg->vsc_list); 355 kfree(l_mg->vsc_list);
356 356
357 for (i = 0; i < PBLK_DATA_LINES; i++) { 357 for (i = 0; i < PBLK_DATA_LINES; i++) {
358 pblk_mfree(&l_mg->sline_meta[i], l_mg->smeta_alloc_type); 358 kfree(l_mg->sline_meta[i]);
359 pblk_mfree(l_mg->eline_meta[i]->buf, l_mg->emeta_alloc_type); 359 pblk_mfree(l_mg->eline_meta[i]->buf, l_mg->emeta_alloc_type);
360 kfree(&l_mg->eline_meta[i]); 360 kfree(l_mg->eline_meta[i]);
361 } 361 }
362 362
363 kfree(pblk->lines); 363 kfree(pblk->lines);
@@ -550,7 +550,6 @@ static int pblk_lines_alloc_metadata(struct pblk *pblk)
550 /* smeta is always small enough to fit on a kmalloc memory allocation, 550 /* smeta is always small enough to fit on a kmalloc memory allocation,
551 * emeta depends on the number of LUNs allocated to the pblk instance 551 * emeta depends on the number of LUNs allocated to the pblk instance
552 */ 552 */
553 l_mg->smeta_alloc_type = PBLK_KMALLOC_META;
554 for (i = 0; i < PBLK_DATA_LINES; i++) { 553 for (i = 0; i < PBLK_DATA_LINES; i++) {
555 l_mg->sline_meta[i] = kmalloc(lm->smeta_len, GFP_KERNEL); 554 l_mg->sline_meta[i] = kmalloc(lm->smeta_len, GFP_KERNEL);
556 if (!l_mg->sline_meta[i]) 555 if (!l_mg->sline_meta[i])
@@ -604,12 +603,12 @@ static int pblk_lines_alloc_metadata(struct pblk *pblk)
604fail_free_emeta: 603fail_free_emeta:
605 while (--i >= 0) { 604 while (--i >= 0) {
606 vfree(l_mg->eline_meta[i]->buf); 605 vfree(l_mg->eline_meta[i]->buf);
607 kfree(&l_mg->eline_meta[i]); 606 kfree(l_mg->eline_meta[i]);
608 } 607 }
609 608
610fail_free_smeta: 609fail_free_smeta:
611 for (i = 0; i < PBLK_DATA_LINES; i++) 610 for (i = 0; i < PBLK_DATA_LINES; i++)
612 pblk_mfree(&l_mg->sline_meta[i], l_mg->smeta_alloc_type); 611 kfree(l_mg->sline_meta[i]);
613 612
614 return -ENOMEM; 613 return -ENOMEM;
615} 614}