[flashrom] [PATCH] Remove exit call from sys_physmap_*
Niklas Söderlund
niso at kth.se
Fri Oct 19 02:39:25 CEST 2012
All callers are prepared to handle error if ERROR_PTR is returned.
Signed-off-by: Niklas Söderlund <niso at kth.se>
---
physmap.c | 15 ++++++---------
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/physmap.c b/physmap.c
index 5aa9874..adce315 100644
--- a/physmap.c
+++ b/physmap.c
@@ -173,12 +173,11 @@ static void *sys_physmap_rw_uncached(unsigned long phys_addr, size_t len)
/* Open the memory device UNCACHED. Important for MMIO. */
if (-1 == (fd_mem = open(MEM_DEV, O_RDWR | O_SYNC))) {
perror("Critical error: open(" MEM_DEV ")");
- exit(2);
+ return ERROR_PTR;
}
}
- virt_addr = mmap(NULL, len, PROT_WRITE | PROT_READ, MAP_SHARED,
- fd_mem, (off_t)phys_addr);
+ virt_addr = mmap(NULL, len, PROT_WRITE | PROT_READ, MAP_SHARED, fd_mem, (off_t)phys_addr);
return MAP_FAILED == virt_addr ? ERROR_PTR : virt_addr;
}
@@ -192,14 +191,12 @@ static void *sys_physmap_ro_cached(unsigned long phys_addr, size_t len)
if (-1 == fd_mem_cached) {
/* Open the memory device CACHED. */
if (-1 == (fd_mem_cached = open(MEM_DEV, O_RDWR))) {
- msg_perr("Critical error: open(" MEM_DEV "): %s",
- strerror(errno));
- exit(2);
+ msg_perr("Critical error: open(" MEM_DEV "): %s", strerror(errno));
+ return ERROR_PTR;
}
}
- virt_addr = mmap(NULL, len, PROT_READ, MAP_SHARED,
- fd_mem_cached, (off_t)phys_addr);
+ virt_addr = mmap(NULL, len, PROT_READ, MAP_SHARED, fd_mem_cached, (off_t)phys_addr);
return MAP_FAILED == virt_addr ? ERROR_PTR : virt_addr;
}
@@ -209,7 +206,7 @@ void physunmap(void *virt_addr, size_t len)
msg_pspew("Not unmapping zero size at %p\n", virt_addr);
return;
}
-
+
munmap(virt_addr, len);
}
#endif
--
1.7.12.3
More information about the flashrom
mailing list