bus/vmbus: fix secondary process setup
authorStephen Hemminger <sthemmin@microsoft.com>
Fri, 8 Feb 2019 03:44:01 +0000 (19:44 -0800)
committerThomas Monjalon <thomas@monjalon.net>
Fri, 29 Mar 2019 12:43:45 +0000 (13:43 +0100)
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")
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
drivers/bus/vmbus/vmbus_common_uio.c

index 5ddd36a..46e233d 100644 (file)
@@ -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)