ethdev: allow device without registered driver
[dpdk.git] / lib / librte_ether / rte_ethdev.c
index 2fc2806..0d34284 100644 (file)
@@ -152,7 +152,7 @@ rte_eth_dev_data_alloc(void)
                                RTE_MAX_ETHPORTS * sizeof(*rte_eth_dev_data));
 }
 
-static inline struct rte_eth_dev *
+struct rte_eth_dev *
 rte_eth_dev_allocate(void)
 {
        struct rte_eth_dev *eth_dev;
@@ -1037,7 +1037,8 @@ rte_eth_dev_info_get(uint8_t port_id, struct rte_eth_dev_info *dev_info)
        FUNC_PTR_OR_RET(*dev->dev_ops->dev_infos_get);
        (*dev->dev_ops->dev_infos_get)(dev, dev_info);
        dev_info->pci_dev = dev->pci_dev;
-       dev_info->driver_name = dev->driver->pci_drv.name;
+       if (dev->driver)
+               dev_info->driver_name = dev->driver->pci_drv.name;
 }
 
 void