2012-05-11 09:40:32

by Bo Shen

[permalink] [raw]
Subject: [PATCH] atmel/ac97c: correct the unexpected behavior when using uninitial value for reset pin

When pdata->reset_pin is passed with a negative value (means gpio
is invalid), then chip->reset_pin will not be assigned to a vaule,
it will use default value 0. This will cause unexpected behavior.

So, add this patch to correct.

Signed-off-by: Bo Shen <[email protected]>
Acked-by: Nicolas Ferre <[email protected]>
---
sound/atmel/ac97c.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/sound/atmel/ac97c.c b/sound/atmel/ac97c.c
index 115313e..f5ded64 100644
--- a/sound/atmel/ac97c.c
+++ b/sound/atmel/ac97c.c
@@ -991,6 +991,8 @@ static int __devinit atmel_ac97c_probe(struct platform_device *pdev)
gpio_direction_output(pdata->reset_pin, 1);
chip->reset_pin = pdata->reset_pin;
}
+ } else {
+ chip->reset_pin = -EINVAL;
}

snd_card_set_dev(card, &pdev->dev);
--
1.7.10


2012-05-11 10:10:44

by Takashi Iwai

[permalink] [raw]
Subject: Re: [PATCH] atmel/ac97c: correct the unexpected behavior when using uninitial value for reset pin

At Fri, 11 May 2012 17:39:28 +0800,
Bo Shen wrote:
>
> When pdata->reset_pin is passed with a negative value (means gpio
> is invalid), then chip->reset_pin will not be assigned to a vaule,
> it will use default value 0. This will cause unexpected behavior.
>
> So, add this patch to correct.
>
> Signed-off-by: Bo Shen <[email protected]>
> Acked-by: Nicolas Ferre <[email protected]>

Applied now. Thanks.


Takashi

> ---
> sound/atmel/ac97c.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/sound/atmel/ac97c.c b/sound/atmel/ac97c.c
> index 115313e..f5ded64 100644
> --- a/sound/atmel/ac97c.c
> +++ b/sound/atmel/ac97c.c
> @@ -991,6 +991,8 @@ static int __devinit atmel_ac97c_probe(struct platform_device *pdev)
> gpio_direction_output(pdata->reset_pin, 1);
> chip->reset_pin = pdata->reset_pin;
> }
> + } else {
> + chip->reset_pin = -EINVAL;
> }
>
> snd_card_set_dev(card, &pdev->dev);
> --
> 1.7.10
>