summaryrefslogtreecommitdiff
path: root/physmap.c
diff options
context:
space:
mode:
authorstefanct <stefanct@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1>2013-09-13 19:19:25 +0000
committerstefanct <stefanct@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1>2013-09-13 19:19:25 +0000
commitfdbbfbb4322020a4f32290319172bd14e24e75b7 (patch)
treedf44af82a80c8b8d0ae86182f7fb51c0e8e7a94f /physmap.c
parent7d14561fb06f8a47763af784b3ca85684d5e18e0 (diff)
downloadflashrom-fdbbfbb4322020a4f32290319172bd14e24e75b7.tar.gz
Remove exit call from sys_physmap_*.
All callers are prepared to handle error if ERROR_PTR is returned. The Manpage mentioning the respective return code is readapted. Signed-off-by: Niklas Söderlund <niso@kth.se> Acked-by: Stefan Tauner <stefan.tauner@student.tuwien.ac.at> git-svn-id: https://code.coreboot.org/svn/flashrom/trunk@1744 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'physmap.c')
-rw-r--r--physmap.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/physmap.c b/physmap.c
index 9cac868..caad1ca 100644
--- a/physmap.c
+++ b/physmap.c
@@ -165,12 +165,11 @@ static void *sys_physmap_rw_uncached(uintptr_t phys_addr, size_t len)
/* Open the memory device UNCACHED. Important for MMIO. */
if (-1 == (fd_mem = open(MEM_DEV, O_RDWR | O_SYNC))) {
msg_perr("Critical error: open(" MEM_DEV "): %s\n", strerror(errno));
- 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;
}
@@ -185,12 +184,11 @@ static void *sys_physmap_ro_cached(uintptr_t phys_addr, size_t len)
/* Open the memory device CACHED. */
if (-1 == (fd_mem_cached = open(MEM_DEV, O_RDWR))) {
msg_perr("Critical error: open(" MEM_DEV "): %s\n", strerror(errno));
- exit(2);
+ 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;
}
@@ -200,7 +198,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