lkml.org 
[lkml]   [2013]   [Jan]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH 1/1] arm :omap :DMA: fix a bug on reserving the omap SDMA channels
On Thursday 03 January 2013 12:58 PM, R Sricharan wrote:
> Hi,
>
> On Sunday 30 December 2012 02:13 AM, ahemaily@gmail.com wrote:
>> From: ahemaily <ahemaily@gmail.com>
>>
>> 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 <ahemaily@gmail.com>
>> ---
>> 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
>
You are right. I missed it in last review. Below should be enough.

diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
index 37a488a..555ff7b 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -2019,7 +2019,7 @@ static int __devinit omap_system_dma_probe(struct
platform_device *pdev)
errata = p->errata;

if ((d->dev_caps & RESERVE_CHANNEL) && omap_dma_reserve_channels
- && (omap_dma_reserve_channels <= dma_lch_count))
+ && (omap_dma_reserve_channels <= d->lch_coun))
d->lch_count = omap_dma_reserve_channels;

dma_lch_count = d->lch_count;

\
 
 \ /
  Last update: 2013-01-03 10:42    [W:0.117 / U:0.232 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site