On Fri, Oct 23, 2015 at 06:36:26PM +0100, Bernard Iremonger wrote:
> use dev_type to distinguish between vdev's and pdev's.
> remove pci_dev branches.
> update release notes.
> 
> Signed-off-by: Bernard Iremonger <bernard.iremonger at intel.com>
> ---
>  doc/guides/rel_notes/release_2_2.rst |  3 +++
>  lib/librte_ether/rte_ethdev.c        | 40 
> +++++++++++++++---------------------
>  2 files changed, 20 insertions(+), 23 deletions(-)
> 
<snip>  
>  /* attach the new physical device, then store port_id of the device */
> @@ -1143,14 +1141,11 @@ rte_eth_dev_configure(uint8_t port_id, uint16_t 
> nb_rx_q, uint16_t nb_tx_q,
>        * If link state interrupt is enabled, check that the
>        * device supports it.
>        */
> -     if (dev_conf->intr_conf.lsc == 1) {
> -             const struct rte_pci_driver *pci_drv = &dev->driver->pci_drv;
> -
> -             if (!(pci_drv->drv_flags & RTE_PCI_DRV_INTR_LSC)) {
> +     if ((dev_conf->intr_conf.lsc == 1) &&
> +             (!(dev->data->dev_flags & RTE_ETH_DEV_INTR_LSC))) {
>                       PMD_DEBUG_TRACE("driver %s does not support lsc\n",
> -                                     pci_drv->name);
> +                                     dev->data->drv_name);

Is this safe to do? From your previous patches for the vdevs, you appear to be
setting the drv_name field to NULL for those vdevs, leading to undefined
behaviour here. (printf may catch the NULL and print it as "(null)" rather
than crashing, but it's still wrong!)

/Bruce

Reply via email to