Browse Source

dpaa_eth: small leak on error

This should be >= instead of > here.  It means that we don't increment
the free count enough so it becomes off by one.

Fixes: 9ad1a3749333 ("dpaa_eth: add support for DPAA Ethernet")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Dan Carpenter 8 years ago
parent
commit
785f35775d
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/net/ethernet/freescale/dpaa/dpaa_eth.c

+ 1 - 1
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c

@@ -1668,7 +1668,7 @@ static struct sk_buff *sg_fd_to_skb(const struct dpaa_priv *priv,
 
 
 free_buffers:
 free_buffers:
 	/* compensate sw bpool counter changes */
 	/* compensate sw bpool counter changes */
-	for (i--; i > 0; i--) {
+	for (i--; i >= 0; i--) {
 		dpaa_bp = dpaa_bpid2pool(sgt[i].bpid);
 		dpaa_bp = dpaa_bpid2pool(sgt[i].bpid);
 		if (dpaa_bp) {
 		if (dpaa_bp) {
 			count_ptr = this_cpu_ptr(dpaa_bp->percpu_count);
 			count_ptr = this_cpu_ptr(dpaa_bp->percpu_count);