From: Qi Zhang <qi.z.zhang@intel.com>
Date: Mon, 22 Oct 2018 05:47:11 +0000 (+0800)
Subject: bus/vdev: fix uninitialized device bus
X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=9ffe2f4e18e91b24a8890a88e62443f4183ce8a3;p=dpdk.git

bus/vdev: fix uninitialized device bus

Device bus should be initialized after bus scan.
While it does not happened when scan vdev from secondary process,
that cause segment fault at rte_dev_probe when call dev->bus->xxx.

Fixes: cdb068f031c6 ("bus/vdev: scan by multi-process channel")
Cc: stable@dpdk.org

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
---

diff --git a/drivers/bus/vdev/vdev.c b/drivers/bus/vdev/vdev.c
index 06f3148439..688e31c212 100644
--- a/drivers/bus/vdev/vdev.c
+++ b/drivers/bus/vdev/vdev.c
@@ -221,6 +221,7 @@ insert_vdev(const char *name, const char *args, struct rte_vdev_device **p_dev)
 		goto fail;
 	}
 
+	dev->device.bus = &rte_vdev_bus;
 	dev->device.devargs = devargs;
 	dev->device.numa_node = SOCKET_ID_ANY;
 	dev->device.name = devargs->name;