net/avp: fix 32-bit meson builds
authorBruce Richardson <bruce.richardson@intel.com>
Tue, 3 Jul 2018 10:31:18 +0000 (11:31 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 12 Jul 2018 10:29:07 +0000 (12:29 +0200)
When compiling with meson, extra warnings are enabled about casting from
integers to different size pointers. This triggers an error in AVP as the
addition of the offset to the pointer address causes the result to be a
64-bit integer which doesn't fit a 32-bit pointer. The fix here is to
explicitly indicate that the offset is of type "uintptr_t" which prevents
any promotion which would cause errors.

Fixes: c0ad584222b5 ("net/avp: add device initialization")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Allain Legacy <allain.legacy@windriver.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
drivers/net/avp/avp_ethdev.c

index 7b4d89d..761f6c1 100644 (file)
@@ -383,7 +383,7 @@ avp_dev_translate_address(struct rte_eth_dev *eth_dev,
                        (host_phys_addr < (map->phys_addr + map->length))) {
                        /* address is within this segment */
                        offset += (host_phys_addr - map->phys_addr);
-                       addr = RTE_PTR_ADD(addr, offset);
+                       addr = RTE_PTR_ADD(addr, (uintptr_t)offset);
 
                        PMD_DRV_LOG(DEBUG, "Translating host physical 0x%" PRIx64 " to guest virtual 0x%p\n",
                                    host_phys_addr, addr);