Build log: lib/librte_eal/bsdapp/eal/eal_pci.c:462:9: error: incompatible integer to pointer conversion passing 'u_int32_t' (aka 'unsigned int') to parameter of type 'void *'
It is fixed by passing the pointer of pi.pi_data to memcpy. By the way, it seems strange that pi_data is initialized twice: .pi_data = *(u_int32_t *)buf memcpy(&pi.pi_data, buf, len); Signed-off-by: Thomas Monjalon <thomas.monjalon at 6wind.com> --- lib/librte_eal/bsdapp/eal/eal_pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_eal/bsdapp/eal/eal_pci.c b/lib/librte_eal/bsdapp/eal/eal_pci.c index ff56cd3..6fa0d08 100644 --- a/lib/librte_eal/bsdapp/eal/eal_pci.c +++ b/lib/librte_eal/bsdapp/eal/eal_pci.c @@ -459,7 +459,7 @@ int rte_eal_pci_write_config(const struct rte_pci_device *dev, goto error; } - memcpy(pi.pi_data, buf, len); + memcpy(&pi.pi_data, buf, len); fd = open("/dev/pci", O_RDONLY); if (fd < 0) { -- 2.4.2