diff options
author | Madalin Bucur <madalin.bucur@freescale.com> | 2015-03-17 08:55:57 (GMT) |
---|---|---|
committer | Madalin-Cristian Bucur <madalin.bucur@freescale.com> | 2015-03-18 09:48:47 (GMT) |
commit | 85365caae6ffc64cac24ad5165033294f7266d4a (patch) | |
tree | 3501d74d415c8cd44503cc19a1a004601690595e /drivers | |
parent | eb985cb9b5e02d470870617b41fa51a1d9360c7f (diff) | |
download | linux-fsl-qoriq-85365caae6ffc64cac24ad5165033294f7266d4a.tar.xz |
dpaa_eth: use proper recycling condition
The condition that needs to be evaluated to determine if a certain
fd is to be recycled (buffers released in the buffer pool by HW)
is (fd.bpid != 0xff). Several places in the code were using the
previous condition (fd.cmd & FM_FD_CMD_FCO) that is always true
after the unification of the recycling and confirmation paths.
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: I23789acc6879086f356ca9accfe400122fd4f0f3
Reviewed-on: http://git.am.freescale.net:8181/32879
Reviewed-by: Marian Cristian Rotariu <marian.rotariu@freescale.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/freescale/dpa/dpaa_eth.c | 4 | ||||
-rw-r--r-- | drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth.c b/drivers/net/ethernet/freescale/dpa/dpaa_eth.c index 4167268..e0fdf7c 100644 --- a/drivers/net/ethernet/freescale/dpa/dpaa_eth.c +++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth.c @@ -299,7 +299,7 @@ static void _dpa_tx_error(struct net_device *net_dev, /* If we intended the buffers from this frame to go into the bpools * when the FMan transmit was done, we need to put it in manually. */ - if (fd->cmd & FM_FD_CMD_FCO) { + if (fd->bpid != 0xff) { dpa_fd_release(net_dev, fd); return; } @@ -554,7 +554,7 @@ static void priv_ern(struct qman_portal *portal, * when the FM was done, we need to put it in * manually. */ - if (msg->ern.fd.cmd & FM_FD_CMD_FCO) { + if (msg->ern.fd.bpid != 0xff) { dpa_fd_release(net_dev, &fd); return; } diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c b/drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c index 2e541a8..a601adb 100644 --- a/drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c +++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c @@ -958,7 +958,7 @@ int __hot dpa_tx(struct sk_buff *skb, struct net_device *net_dev) return NETDEV_TX_OK; xmit_failed: - if (fd.cmd & FM_FD_CMD_FCO) { + if (fd.bpid != 0xff) { (*countptr)--; percpu_priv->tx_returned--; dpa_fd_release(net_dev, &fd); |