[PATCH 1/1] arm :omap :DMA: fix a bug on reserving the omap SDMA channels
From: R Sricharan <hidden>
Date: 2013-01-03 07:28:33
Also in:
linux-omap, lkml
From: R Sricharan <hidden>
Date: 2013-01-03 07:28:33
Also in:
linux-omap, lkml
Hi, On Sunday 30 December 2012 02:13 AM, ahemaily at gmail.com wrote:
From: ahemaily <redacted> The variable dma_lch_count used for comparison (omap_dma_reserve_channels <= dma_lch_count) before it initialized to the value from omap_dma_dev_attr : d->lch_count. I change the place of dma_lch_count initialization to be before the comparison. Signed-off-by: Abdelrahman Hemaily <redacted> --- arch/arm/plat-omap/dma.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c index c76ed8b..cb3e321 100644 --- a/arch/arm/plat-omap/dma.c +++ b/arch/arm/plat-omap/dma.c@@ -2014,12 +2014,12 @@ static int __devinit omap_system_dma_probe(struct platform_device *pdev) d = p->dma_attr; errata = p->errata; - + dma_lch_count = d->lch_count; + if ((d->dev_caps & RESERVE_CHANNEL) && omap_dma_reserve_channels && (omap_dma_reserve_channels <= dma_lch_count)) d->lch_count = omap_dma_reserve_channels; - dma_lch_count = d->lch_count;
By removing this line, you are effectively not assigning
d->lch_count after reserving. So the patch should only change
dma_lch_count in the above "if statement" to d->lch_count
Regards,
Sricharan