summaryrefslogtreecommitdiff
path: root/drivers/staging/fsl_qbman/fsl_usdpaa.c
diff options
context:
space:
mode:
authorRoy Pledge <Roy.Pledge@freescale.com>2014-03-31 17:49:28 (GMT)
committerJose Rivera <German.Rivera@freescale.com>2014-03-31 23:22:57 (GMT)
commitfa2a36dedaa987e730d5af05b0bed92ab7e7b13c (patch)
treed6c6aebe9d971b8c62f969054765fc8116e0de96 /drivers/staging/fsl_qbman/fsl_usdpaa.c
parent1877f35001b018bc7ad0f7b8ef41bdea04311b54 (diff)
downloadlinux-fsl-qoriq-fa2a36dedaa987e730d5af05b0bed92ab7e7b13c.tar.xz
Fix USDPAA DMA Mem freespace calculation
The USDPAA DMA freespace calculation should only count segments with a reference count of zero as free Signed-off-by: Roy Pledge <Roy.Pledge@freescale.com> Change-Id: Ib8752f8ad6cb4179b371b6480f47e84033260efe Reviewed-on: http://git.am.freescale.net:8181/10526 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Geoff Thorpe <Geoff.Thorpe@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Diffstat (limited to 'drivers/staging/fsl_qbman/fsl_usdpaa.c')
-rw-r--r--drivers/staging/fsl_qbman/fsl_usdpaa.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/staging/fsl_qbman/fsl_usdpaa.c b/drivers/staging/fsl_qbman/fsl_usdpaa.c
index fb4aaba..0e6adca 100644
--- a/drivers/staging/fsl_qbman/fsl_usdpaa.c
+++ b/drivers/staging/fsl_qbman/fsl_usdpaa.c
@@ -1054,7 +1054,8 @@ static long ioctl_dma_stats(struct ctx *ctx, void __user *arg)
result.total_bytes = phys_size;
list_for_each_entry(frag, &mem_list, list) {
- result.free_bytes += frag->len;
+ if (frag->refs == 0)
+ result.free_bytes += frag->len;
}
return copy_to_user(arg, &result, sizeof(result)); }