From: Stephen Hemminger <[email protected]>
The secondary process doesn't correctly map the second
and later resources because it doesn't change the offset.
Fixes: 831dba47bd36 ("bus/vmbus: add Hyper-V virtual bus support")
Signed-off-by: Stephen Hemminger <[email protected]>
---
drivers/bus/vmbus/vmbus_common_uio.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/bus/vmbus/vmbus_common_uio.c
b/drivers/bus/vmbus/vmbus_common_uio.c
index 5ddd36ab62d2..46e233d9fac3 100644
--- a/drivers/bus/vmbus/vmbus_common_uio.c
+++ b/drivers/bus/vmbus/vmbus_common_uio.c
@@ -47,9 +47,10 @@ vmbus_uio_map_secondary(struct rte_vmbus_device *dev)
for (i = 0; i != uio_res->nb_maps; i++) {
void *mapaddr;
+ off_t offset = i * PAGE_SIZE;
mapaddr = vmbus_map_resource(uio_res->maps[i].addr,
- fd, 0,
+ fd, offset,
uio_res->maps[i].size, 0);
if (mapaddr == uio_res->maps[i].addr)
--
2.20.1