dpaa_eth: make sure all Rx errors are counted
authorMadalin Bucur <madalin.bucur@nxp.com>
Mon, 26 Feb 2018 17:24:02 +0000 (11:24 -0600)
committerDavid S. Miller <davem@davemloft.net>
Tue, 27 Feb 2018 16:40:03 +0000 (11:40 -0500)
Simplify the code and avoid some Rx errors not being
accounted.

Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c

index ff110e65cee410bca70e0c500936aec98132f19b..bdf57feecfd7e3d881e7da3ef200518774f9f642 100644 (file)
@@ -2204,14 +2204,8 @@ static enum qman_cb_dqrr_result rx_error_dqrr(struct qman_portal *portal,
        if (dpaa_eth_napi_schedule(percpu_priv, portal))
                return qman_cb_dqrr_stop;
 
-       if (dpaa_eth_refill_bpools(priv))
-               /* Unable to refill the buffer pool due to insufficient
-                * system memory. Just release the frame back into the pool,
-                * otherwise we'll soon end up with an empty buffer pool.
-                */
-               dpaa_fd_release(net_dev, &dq->fd);
-       else
-               dpaa_rx_error(net_dev, priv, percpu_priv, &dq->fd, fq->fqid);
+       dpaa_eth_refill_bpools(priv);
+       dpaa_rx_error(net_dev, priv, percpu_priv, &dq->fd, fq->fqid);
 
        return qman_cb_dqrr_consume;
 }