Author: stefanct Date: Fri Sep 13 21:19:25 2013 New Revision: 1744 URL: http://flashrom.org/trac/flashrom/changeset/1744
Log: 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
Modified: trunk/flashrom.8.tmpl trunk/physmap.c
Modified: trunk/flashrom.8.tmpl ============================================================================== --- trunk/flashrom.8.tmpl Fri Sep 13 19:21:05 2013 (r1743) +++ trunk/flashrom.8.tmpl Fri Sep 13 21:19:25 2013 (r1744) @@ -857,8 +857,7 @@ .B BUGS for contact info. .SH EXIT STATUS -flashrom exits with 0 on success, 1 on most failures but with 2 if /dev/mem -(/dev/xsvc on Solaris) can not be opened and with 3 if a call to mmap() fails. +flashrom exits with 0 on success, 1 on most failures but with 3 if a call to mmap() fails. .SH REQUIREMENTS flashrom needs different access permissions for different programmers. .sp
Modified: trunk/physmap.c ============================================================================== --- trunk/physmap.c Fri Sep 13 19:21:05 2013 (r1743) +++ trunk/physmap.c Fri Sep 13 21:19:25 2013 (r1744) @@ -165,12 +165,11 @@ /* 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 @@ /* 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 @@ msg_pspew("Not unmapping zero size at %p\n", virt_addr); return; } - + munmap(virt_addr, len); } #endif