aemif_calc_rate() can return a negative error value, so all the
variables that get tested for this value need to be signed.
The maximum bit width of WSETUP(WSETUP_MAX) appears to be 30 bits
(0xf << 26). Using a signed instead of an unsigned integer
shouldn't make a difference here.
Signed-off-by: Nicolas Kaiser <[email protected]>
---
arch/arm/mach-davinci/aemif.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-davinci/aemif.c b/arch/arm/mach-davinci/aemif.c
index 9c3f500..1ce70a9 100644
--- a/arch/arm/mach-davinci/aemif.c
+++ b/arch/arm/mach-davinci/aemif.c
@@ -90,7 +90,7 @@ int davinci_aemif_setup_timing(struct davinci_aemif_timing *t,
void __iomem *base, unsigned cs)
{
unsigned set, val;
- unsigned ta, rhold, rstrobe, rsetup, whold, wstrobe, wsetup;
+ int ta, rhold, rstrobe, rsetup, whold, wstrobe, wsetup;
unsigned offset = A1CR_OFFSET + cs * 4;
struct clk *aemif_clk;
unsigned long clkrate;
--
1.7.2.2
Hi Nicolas,
On Tue, Nov 16, 2010 at 00:10:28, Nicolas Kaiser wrote:
> aemif_calc_rate() can return a negative error value, so all the
> variables that get tested for this value need to be signed.
>
> The maximum bit width of WSETUP(WSETUP_MAX) appears to be 30 bits
> (0xf << 26). Using a signed instead of an unsigned integer
> shouldn't make a difference here.
>
> Signed-off-by: Nicolas Kaiser <[email protected]>
Thanks for the fix. You could use the subject:
"davinci: signedness bug in davinci_aemif_setup_timing()"
Other than that:
Acked-by: Sekhar Nori <[email protected]>
Thanks,
Sekhar
> ---
> arch/arm/mach-davinci/aemif.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/mach-davinci/aemif.c b/arch/arm/mach-davinci/aemif.c
> index 9c3f500..1ce70a9 100644
> --- a/arch/arm/mach-davinci/aemif.c
> +++ b/arch/arm/mach-davinci/aemif.c
> @@ -90,7 +90,7 @@ int davinci_aemif_setup_timing(struct davinci_aemif_timing *t,
> void __iomem *base, unsigned cs)
> {
> unsigned set, val;
> - unsigned ta, rhold, rstrobe, rsetup, whold, wstrobe, wsetup;
> + int ta, rhold, rstrobe, rsetup, whold, wstrobe, wsetup;
> unsigned offset = A1CR_OFFSET + cs * 4;
> struct clk *aemif_clk;
> unsigned long clkrate;
> --
> 1.7.2.2
>
"Nori, Sekhar" <[email protected]> writes:
> Hi Nicolas,
>
> On Tue, Nov 16, 2010 at 00:10:28, Nicolas Kaiser wrote:
>> aemif_calc_rate() can return a negative error value, so all the
>> variables that get tested for this value need to be signed.
>>
>> The maximum bit width of WSETUP(WSETUP_MAX) appears to be 30 bits
>> (0xf << 26). Using a signed instead of an unsigned integer
>> shouldn't make a difference here.
>>
>> Signed-off-by: Nicolas Kaiser <[email protected]>
>
> Thanks for the fix. You could use the subject:
>
> "davinci: signedness bug in davinci_aemif_setup_timing()"
>
> Other than that:
>
> Acked-by: Sekhar Nori <[email protected]>
Thanks, I fixed up the subject as Sekhar suggested.
Applied, queuing for 2.6.38.
Kevin