summaryrefslogtreecommitdiffstats
path: root/ShellPkg/DynamicCommand
diff options
context:
space:
mode:
authorVladimir Olovyannikov via edk2-devel <edk2-devel@lists.01.org>2019-01-23 10:26:15 -0800
committerJaben Carsey <jaben.carsey@intel.com>2019-01-25 08:06:34 -0800
commit83463154afc699c8116a42df9184b034056c7b33 (patch)
tree9c5acf16ca17d5ee7207ac88696ae9a5e3fcf640 /ShellPkg/DynamicCommand
parent9084239f3440369fcb5ff0476d9bdd9442a03258 (diff)
downloadedk2-83463154afc699c8116a42df9184b034056c7b33.tar.gz
edk2-83463154afc699c8116a42df9184b034056c7b33.tar.bz2
edk2-83463154afc699c8116a42df9184b034056c7b33.zip
ShellPkg/TftpDynamicCommand: Return proper status
Tftp command always returned "SHELL_NOT_FOUND" which is treated as an error by callers. Add missing line to clean the ShellStatus on successful operation. If operation has failed, return the error status if available. REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1487 Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Vladimir Olovyannikov <vladimir.olovyannikov@broadcom.com> Reviewed-by: Songpeng Li <songpeng.li@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Diffstat (limited to 'ShellPkg/DynamicCommand')
-rw-r--r--ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c
index ba753a279b..88e3988a55 100644
--- a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c
+++ b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c
@@ -548,6 +548,8 @@ RunTftp (
goto NextHandle;
}
+ ShellStatus = SHELL_SUCCESS;
+
NextHandle:
CloseProtocolAndDestroyServiceChild (
@@ -575,6 +577,10 @@ RunTftp (
FreePool (Handles);
}
+ if ((ShellStatus != SHELL_SUCCESS) && (EFI_ERROR(Status))) {
+ ShellStatus = Status & ~MAX_BIT;
+ }
+
return ShellStatus;
}