X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Ftap%2Ftap_intr.c;h=7af0010e373a5b5a6e4f371e23b8afe878a16040;hb=f6d9ab4e769f0f95ecac1b418106e9f8137ca60c;hp=b0e1991471c25e1f8b87623c5da584d84a8a6f84;hpb=4870a8cdd9687c62b2c9bf71584b445b4a4257e8;p=dpdk.git diff --git a/drivers/net/tap/tap_intr.c b/drivers/net/tap/tap_intr.c index b0e1991471..7af0010e37 100644 --- a/drivers/net/tap/tap_intr.c +++ b/drivers/net/tap/tap_intr.c @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright 2018 Mellanox Technologies, Ltd. + * Copyright 2018 Mellanox Technologies, Ltd */ /** @@ -51,6 +51,7 @@ static int tap_rx_intr_vec_install(struct rte_eth_dev *dev) { struct pmd_internals *pmd = dev->data->dev_private; + struct pmd_process_private *process_private = dev->process_private; unsigned int rxqs_n = pmd->dev->data->nb_rx_queues; struct rte_intr_handle *intr_handle = &pmd->intr_handle; unsigned int n = RTE_MIN(rxqs_n, (uint32_t)RTE_MAX_RXTX_INTR_VEC_ID); @@ -62,7 +63,7 @@ tap_rx_intr_vec_install(struct rte_eth_dev *dev) intr_handle->intr_vec = malloc(sizeof(intr_handle->intr_vec[rxqs_n])); if (intr_handle->intr_vec == NULL) { rte_errno = ENOMEM; - RTE_LOG(ERR, PMD, + TAP_LOG(ERR, "failed to allocate memory for interrupt vector," " Rx interrupts will not be supported"); return -rte_errno; @@ -71,7 +72,7 @@ tap_rx_intr_vec_install(struct rte_eth_dev *dev) struct rx_queue *rxq = pmd->dev->data->rx_queues[i]; /* Skip queues that cannot request interrupts. */ - if (!rxq || rxq->fd <= 0) { + if (!rxq || process_private->rxq_fds[i] <= 0) { /* Use invalid intr_vec[] index to disable entry. */ intr_handle->intr_vec[i] = RTE_INTR_VEC_RXTX_OFFSET + @@ -79,7 +80,7 @@ tap_rx_intr_vec_install(struct rte_eth_dev *dev) continue; } intr_handle->intr_vec[i] = RTE_INTR_VEC_RXTX_OFFSET + count; - intr_handle->efds[count] = rxq->fd; + intr_handle->efds[count] = process_private->rxq_fds[i]; count++; } if (!count)