diff mbox

[1/1] arm :omap :DMA: fix a bug on reserving the omap SDMA channels

Message ID 50E5438A.1050902@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Santosh Shilimkar Jan. 3, 2013, 8:38 a.m. UTC
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.

  	dma_lch_count		= d->lch_count;
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Igor Grinberg Jan. 3, 2013, 9:10 a.m. UTC | #1
On 01/03/13 10:38, Santosh Shilimkar wrote:
> 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))

It looks like the 't' is missing...                     ^^^^^

>          d->lch_count    = omap_dma_reserve_channels;
> 
>      dma_lch_count        = d->lch_count;
> -- 
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
diff mbox

Patch

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;