On Tue,  3 Feb 2015 16:18:27 +0800
Zhou Danny <danny.zhou at intel.com> wrote:

> +
> +int
> +rte_eth_dev_rx_queue_intr_enable(uint8_t port_id,
> +                             uint16_t queue_id)
> +{
> +     struct rte_eth_dev *dev;
> +
> +     if (port_id >= nb_ports) {
> +             PMD_DEBUG_TRACE("Invalid port_id=%d\n", port_id);
> +             return (-ENODEV);
> +     }
> +
> +     dev = &rte_eth_devices[port_id];
> +     if (dev == NULL) {
> +             PMD_DEBUG_TRACE("Invalid port device\n");
> +             return (-ENODEV);
> +     }
> +
> +     FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_queue_intr_enable, -ENOTSUP);
> +     (*dev->dev_ops->rx_queue_intr_enable)(dev, queue_id);
> +     return 0;

The interrupt setup might fail for device specific reasons.
You should give the device specific function a chance to
return error as well.

Reply via email to