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
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
>