diff options
Diffstat (limited to 'drivers/net/ethernet/freescale/dpa/dpaa_eth_non_sg.c')
-rw-r--r-- | drivers/net/ethernet/freescale/dpa/dpaa_eth_non_sg.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth_non_sg.c b/drivers/net/ethernet/freescale/dpa/dpaa_eth_non_sg.c index f1f9fce..d608881 100644 --- a/drivers/net/ethernet/freescale/dpa/dpaa_eth_non_sg.c +++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth_non_sg.c @@ -294,6 +294,7 @@ static int dpa_process_one(struct dpa_percpu_priv_s *percpu_priv, } void __hot _dpa_rx(struct net_device *net_dev, + struct qman_portal *portal, const struct dpa_priv_s *priv, struct dpa_percpu_priv_s *percpu_priv, const struct qm_fd *fd, @@ -370,8 +371,12 @@ void __hot _dpa_rx(struct net_device *net_dev, if (use_gro) { gro_result_t gro_result; + const struct qman_portal_config *pc = + qman_p_get_portal_config(portal); + struct dpa_napi_portal *np = &percpu_priv->np[pc->index]; - gro_result = napi_gro_receive(&percpu_priv->napi, skb); + np->p = portal; + gro_result = napi_gro_receive(&np->napi, skb); /* If frame is dropped by the stack, rx_dropped counter is * incremented automatically, so no need for us to update it */ |