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 voice.shen@atmel.com Acked-by: Nicolas Ferre nicolas.ferre@atmel.com --- 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);