mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 11:50:43 +09:00
mmc: free the available reserved memory of escd when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com> Change-Id: I77c69d579c9121adde94ffc2e68514a9fd34e870
This commit is contained in:
@@ -699,6 +699,7 @@ static int mmc_read_ext_csd(struct mmc_card *card)
|
||||
#ifdef CONFIG_ROCKCHIP_THUNDER_BOOT
|
||||
void *ecsd;
|
||||
bool valid_ecsd = false;
|
||||
bool valid_reserved = false;
|
||||
struct device_node *mem;
|
||||
struct resource reg;
|
||||
struct device *dev = card->host->parent;
|
||||
@@ -714,6 +715,7 @@ static int mmc_read_ext_csd(struct mmc_card *card)
|
||||
dev_err(dev, "fail to get resource\n");
|
||||
goto get_ecsd;
|
||||
}
|
||||
valid_reserved = true;
|
||||
|
||||
ecsd = mmc_tb_map_ecsd(reg.start, resource_size(®));
|
||||
if (!ecsd)
|
||||
@@ -765,6 +767,10 @@ decode:
|
||||
kfree(ext_csd);
|
||||
else
|
||||
vunmap(ecsd);
|
||||
if (valid_reserved)
|
||||
free_reserved_area(phys_to_virt(reg.start),
|
||||
phys_to_virt(reg.start) + resource_size(®),
|
||||
-1, "memory-region-ecsd");
|
||||
#else
|
||||
kfree(ext_csd);
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user