X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fbus%2Fpci%2Fpci_common_uio.c;h=318f9a1d550b643401b15dc6cce9c516cc1f2e3d;hb=1b71ed2cdd5d25511be9d5e3a75638017212b298;hp=7ea73dbc5b729dff09509e9712f154f553984e17;hpb=b01dc3da88454cf8bb3f7a364595c94c137f2463;p=dpdk.git diff --git a/drivers/bus/pci/pci_common_uio.c b/drivers/bus/pci/pci_common_uio.c index 7ea73dbc5b..318f9a1d55 100644 --- a/drivers/bus/pci/pci_common_uio.c +++ b/drivers/bus/pci/pci_common_uio.c @@ -51,14 +51,15 @@ pci_uio_map_secondary(struct rte_pci_device *dev) void *mapaddr = pci_map_resource(uio_res->maps[i].addr, fd, (off_t)uio_res->maps[i].offset, (size_t)uio_res->maps[i].size, 0); - /* fd is not needed in slave process, close it */ + + /* fd is not needed in secondary process, close it */ close(fd); if (mapaddr != uio_res->maps[i].addr) { RTE_LOG(ERR, EAL, "Cannot mmap device resource file %s to address: %p\n", uio_res->maps[i].path, uio_res->maps[i].addr); - if (mapaddr != MAP_FAILED) { + if (mapaddr != NULL) { /* unmap addrs correctly mapped */ for (j = 0; j < i; j++) pci_unmap_resource( @@ -70,6 +71,7 @@ pci_uio_map_secondary(struct rte_pci_device *dev) } return -1; } + dev->mem_resource[i].addr = mapaddr; } return 0; }