Commit 47cd4920 authored by Alessandro Rubini's avatar Alessandro Rubini

libswitchhw: fix error detaction on device open

open returns -1 on error, not 0

mmap returns -1 on error, not NULL
Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
parent 02a7c84a
...@@ -27,15 +27,17 @@ int shw_fpga_mmap_init() ...@@ -27,15 +27,17 @@ int shw_fpga_mmap_init()
TRACE(TRACE_INFO, "Initializing FPGA memory mapping."); TRACE(TRACE_INFO, "Initializing FPGA memory mapping.");
fd = open("/dev/mem", O_RDWR | O_SYNC); fd = open("/dev/mem", O_RDWR | O_SYNC);
if(!fd) return -1; if (fd < 0) {
_fpga_base_virt = mmap(NULL, SMC_CS0_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, SMC_CS0_BASE); perror("/dev/mem");
return -1;
if(_fpga_base_virt == NULL) }
{ _fpga_base_virt = mmap(NULL, SMC_CS0_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, SMC_CS0_BASE);
perror("mmap()");
close(fd); close(fd);
return -1;
} if(_fpga_base_virt == MAP_FAILED) {
perror("mmap()");
return -1;
}
TRACE(TRACE_INFO, "FPGA virtual base = 0x%08x", _fpga_base_virt); TRACE(TRACE_INFO, "FPGA virtual base = 0x%08x", _fpga_base_virt);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment