[RAMEN9610-10895][COMMON] ASoC: abox: removed memory allocation code using vzalloc...
authorPilsun Jang <pilsun.jang@samsung.com>
Thu, 26 Jul 2018 08:18:41 +0000 (17:18 +0900)
committerCosmin Tanislav <demonsingur@gmail.com>
Mon, 22 Apr 2024 17:23:12 +0000 (20:23 +0300)
to prevent lockup while fault hander running
removed memory allocation code

Change-Id: Id2a9fb94854804d408f88d821625801316ef12a0
Signed-off-by: Pilsun Jang <pilsun.jang@samsung.com>
sound/soc/samsung/abox/abox_dbg.c

index 5a292acf10ea02660b1050d6edc9b85b68c8a3a2..d915d4d0f48e8e8e43d81563d36d11bf5318f8d0 100644 (file)
@@ -255,12 +255,9 @@ void abox_dbg_dump_mem(struct device *dev, struct abox_data *data,
                memcpy_fromio(p_dump->sfr, data->sfr_base, sizeof(p_dump->sfr));
                memcpy_fromio(p_dump->sfr_gic_gicd, gic_data->gicd_base,
                                sizeof(p_dump->sfr_gic_gicd));
-               if (!p_dump->dram) {
-                       if (src == ABOX_DBG_DUMP_KERNEL)
-                               p_dump->dram = vzalloc(DRAM_FIRMWARE_SIZE);
-                       else if (src == ABOX_DBG_DUMP_FIRMWARE)
-                               p_dump->dram = abox_dbg_alloc_mem_atomic(dev, p_dump);
-               }
+               if (!p_dump->dram)
+                       p_dump->dram = abox_dbg_alloc_mem_atomic(dev, p_dump);
+
                if (!IS_ERR_OR_NULL(p_dump->dram)) {
                        memcpy(p_dump->dram, data->dram_base, DRAM_FIRMWARE_SIZE);
                        flush_cache_all();
@@ -467,20 +464,18 @@ static int samsung_abox_debug_remove(struct platform_device *pdev)
 
        dev_dbg(dev, "%s\n", __func__);
        for (i = 0; i < ABOX_DBG_DUMP_COUNT; i++) {
-               if (i == ABOX_DBG_DUMP_KERNEL) {
-                       vfree(p_abox_dbg_dump_min[i]->dram);
-               } else if (i == ABOX_DBG_DUMP_FIRMWARE) {
-                       struct page **tmp = p_abox_dbg_dump_min[i]->pages;
-                       if (p_abox_dbg_dump_min[i]->dram)
-                               vm_unmap_ram(p_abox_dbg_dump_min[i]->dram,
-                                   DRAM_FIRMWARE_SIZE);
-                       if (tmp) {
-                               int j;
-                               for (j = 0; j < DRAM_FIRMWARE_SIZE / PAGE_SIZE; j++, tmp++)
-                                       __free_pages(*tmp, 0);
-                               kfree(p_abox_dbg_dump_min[i]->pages);
-                               p_abox_dbg_dump_min[i]->pages = NULL;
-                       }
+               struct page **tmp = p_abox_dbg_dump_min[i]->pages;
+
+               if (p_abox_dbg_dump_min[i]->dram)
+                       vm_unmap_ram(p_abox_dbg_dump_min[i]->dram,
+                           DRAM_FIRMWARE_SIZE);
+               if (tmp) {
+                       int j;
+
+                       for (j = 0; j < DRAM_FIRMWARE_SIZE / PAGE_SIZE; j++, tmp++)
+                               __free_pages(*tmp, 0);
+                       kfree(p_abox_dbg_dump_min[i]->pages);
+                       p_abox_dbg_dump_min[i]->pages = NULL;
                }
        }