aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGene Cumm <gene.cumm@gmail.com>2015-07-18 07:51:20 -0400
committerGene Cumm <gene.cumm@gmail.com>2015-07-18 07:51:20 -0400
commit862dd3950e73e18fd261b55c3847c6ba5bcf70ff (patch)
treecd7ca7a9f70090025973cf0483e66e2cb26dc46f
parent5186539cdc9e1da92a30f6e9af0832084d3407db (diff)
downloadsyslinux-862dd3950e73e18fd261b55c3847c6ba5bcf70ff.tar.gz
syslinux-862dd3950e73e18fd261b55c3847c6ba5bcf70ff.tar.xz
syslinux-862dd3950e73e18fd261b55c3847c6ba5bcf70ff.zip
efi: Provide feedback on Configure() failures
There are more unsuccessful returns that are ignored. Restructure to allow for trapping other values. Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
-rw-r--r--efi/tcp.c8
-rw-r--r--efi/udp.c8
2 files changed, 10 insertions, 6 deletions
diff --git a/efi/tcp.c b/efi/tcp.c
index b90efaf3..627028ae 100644
--- a/efi/tcp.c
+++ b/efi/tcp.c
@@ -72,9 +72,7 @@ int core_tcp_connect(struct pxe_pvt_inode *socket, uint32_t ip, uint16_t port)
last = start = jiffies();
while (unmapped){
status = uefi_call_wrapper(tcp->Configure, 2, tcp, &tdata);
- if (status != EFI_NO_MAPPING)
- unmapped = 0;
- else {
+ if (status == EFI_NO_MAPPING) {
cur = jiffies();
if ( (cur - last) >= EFI_NOMAP_PRINT_DELAY ) {
last = cur;
@@ -83,6 +81,10 @@ int core_tcp_connect(struct pxe_pvt_inode *socket, uint32_t ip, uint16_t port)
Print(L"core_tcp_connect: aborting on no mapping\n");
unmapped = 0;
}
+ } else {
+ if (status != EFI_SUCCESS)
+ Print(L"core_tcp_connect: tcp->Configure() unsuccessful (%i)", status);
+ unmapped = 0;
}
}
if (status != EFI_SUCCESS)
diff --git a/efi/udp.c b/efi/udp.c
index 7c1d09e2..5ada0463 100644
--- a/efi/udp.c
+++ b/efi/udp.c
@@ -38,9 +38,7 @@ EFI_STATUS core_udp_configure(EFI_UDP4 *udp, EFI_UDP4_CONFIG_DATA *udata,
last = start = jiffies();
while (unmapped){
status = uefi_call_wrapper(udp->Configure, 2, udp, udata);
- if (status != EFI_NO_MAPPING)
- unmapped = 0;
- else {
+ if (status == EFI_NO_MAPPING) {
cur = jiffies();
if ( (cur - last) >= EFI_NOMAP_PRINT_DELAY ) {
last = cur;
@@ -49,6 +47,10 @@ EFI_STATUS core_udp_configure(EFI_UDP4 *udp, EFI_UDP4_CONFIG_DATA *udata,
Print(L"%s: aborting on no mapping\n", f);
unmapped = 0;
}
+ } else {
+ if (status != EFI_SUCCESS)
+ Print(L"%s: udp->Configure() unsuccessful (%i)", f, status);
+ unmapped = 0;
}
}
return status;