From: Tien Fong Chee <tien.fong.c...@intel.com> cmd_ubifs_umount() function would be called directly instead of involving whole command machinery in generic firmware loader, so checking on ubifs_initialized status need to be done in cmd_ubifs_umount() without breaking original functionality design.
Signed-off-by: Tien Fong Chee <tien.fong.c...@intel.com> Reviewed-by: Marek Vasut <ma...@denx.de> --- cmd/ubifs.c | 18 +++++++++--------- include/ubi_uboot.h | 1 + 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/cmd/ubifs.c b/cmd/ubifs.c index 5e9d357..0d059ca 100644 --- a/cmd/ubifs.c +++ b/cmd/ubifs.c @@ -51,11 +51,18 @@ int ubifs_is_mounted(void) return ubifs_mounted; } -void cmd_ubifs_umount(void) +int cmd_ubifs_umount(void) { + if (ubifs_initialized == 0) { + printf("No UBIFS volume mounted!\n"); + return -1; + } + uboot_ubifs_umount(); ubifs_mounted = 0; ubifs_initialized = 0; + + return 0; } static int do_ubifs_umount(cmd_tbl_t *cmdtp, int flag, int argc, @@ -64,14 +71,7 @@ static int do_ubifs_umount(cmd_tbl_t *cmdtp, int flag, int argc, if (argc != 1) return CMD_RET_USAGE; - if (ubifs_initialized == 0) { - printf("No UBIFS volume mounted!\n"); - return -1; - } - - cmd_ubifs_umount(); - - return 0; + return cmd_ubifs_umount(); } static int do_ubifs_ls(cmd_tbl_t *cmdtp, int flag, int argc, diff --git a/include/ubi_uboot.h b/include/ubi_uboot.h index 80acbcb..827dbfc 100644 --- a/include/ubi_uboot.h +++ b/include/ubi_uboot.h @@ -75,5 +75,6 @@ extern int ubi_volume_write(char *volume, void *buf, size_t size); extern int ubi_volume_read(char *volume, char *buf, size_t size); extern struct ubi_device *ubi_devices[]; +int cmd_ubifs_umount(void); #endif -- 2.2.0 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot