env: mtd: add the missing put_mtd_device()
The mtd device is got in setup_mtd_device(), we must put the mtd
device before exiting the function to update the mtd use count.
This patch fixes the following env error:
> Removing MTD device #2 (u-boot-env) with use count 1
> Error when deleting partition "u-boot-env" (-16)
Fixes: 03fb08d4ae ("env: Introduce support for MTD")
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
This commit is contained in:
6
env/mtd.c
vendored
6
env/mtd.c
vendored
@@ -131,6 +131,8 @@ static int env_mtd_save(void)
|
||||
puts("done\n");
|
||||
|
||||
done:
|
||||
put_mtd_device(mtd_env);
|
||||
|
||||
if (saved_buf)
|
||||
free(saved_buf);
|
||||
|
||||
@@ -188,6 +190,8 @@ static int env_mtd_load(void)
|
||||
gd->env_valid = ENV_VALID;
|
||||
|
||||
out:
|
||||
put_mtd_device(mtd_env);
|
||||
|
||||
free(buf);
|
||||
|
||||
return ret;
|
||||
@@ -280,6 +284,8 @@ static int env_mtd_erase(void)
|
||||
ret = 0;
|
||||
|
||||
done:
|
||||
put_mtd_device(mtd_env);
|
||||
|
||||
if (saved_buf)
|
||||
free(saved_buf);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user