src/dpdk/drivers/net/failsafe/failsafe_intr.c
int
failsafe_rx_intr_install(struct rte_eth_dev *dev)
{
	struct fs_priv *priv = PRIV(dev);
	const struct rte_intr_conf *const intr_conf =
			&priv->data->dev_conf.intr_conf;

	if (intr_conf->rxq == 0 || dev->intr_handle != NULL)
		return 0;
	if (fs_rx_intr_vec_install(priv) < 0)
		return -rte_errno;
	if (fs_rx_event_proxy_install(priv) < 0) {
		fs_rx_intr_vec_uninstall(priv);
		return -rte_errno;
	}
	dev->intr_handle = &priv->intr_handle;
	return 0;
}
/**
 * Install failsafe Rx interrupts subsystem.
 *
 * @param priv
 *   Pointer to private structure.
 *
 * @return
 *   0 on success, negative errno value otherwise and rte_errno is set.
 */
Install failsafe Rx interrupts subsystem.
@param priv
Pointer to private structure.

@return
0 on success, negative errno value otherwise and rte_errno is set.
Install failsafe Rx interrupts subsystem . @param priv Pointer to private structure . @return 0 on success negative errno value otherwise and rte_errno is set .
int
failsafe_rx_intr_install(struct rte_eth_dev *dev)
{
	struct fs_priv *priv = PRIV(dev);
	const struct rte_intr_conf *const intr_conf =
			&priv->data->dev_conf.intr_conf;
	if (intr_conf->rxq == 0 || dev->intr_handle != NULL)
		return 0;
	if (fs_rx_intr_vec_install(priv) < 0)
		return -rte_errno;
	if (fs_rx_event_proxy_install(priv) < 0) {
		fs_rx_intr_vec_uninstall(priv);
		return -rte_errno;
	}
	dev->intr_handle = &priv->intr_handle;
	return 0;
}
int failsafe_rx_intr_install ( struct rte_eth_dev * dev ) { struct fs_priv * priv = PRIV ( dev ) ; const struct rte_intr_conf * const intr_conf = & priv -> data -> dev_conf . intr_conf ; if ( intr_conf -> rxq == 0 || dev -> intr_handle != NULL ) return 0 ; if ( fs_rx_intr_vec_install ( priv ) < 0 ) return - rte_errno ; if ( fs_rx_event_proxy_install ( priv ) < 0 ) { fs_rx_intr_vec_uninstall ( priv ) ; return - rte_errno ; } dev -> intr_handle = & priv -> intr_handle ; return 0 ; }
Install failsafe Rx interrupts subsystem.
Install failsafe Rx interrupts subsystem .