[PATCH 70/91] ALSA: ice1724 - Check for ac97 to avoid kernel oops

From: Willy Tarreau
Date: Sun Feb 05 2012 - 17:35:52 EST


2.6.27-longterm review patch. If anyone has any objections, please let us know.

------------------

commit e7848163aa2a649d9065f230fadff80dc3519775 upstream.

Cards with identical PCI ids but no AC97 config in EEPROM do not have
the ac97 field initialized. We must check for this case to avoid kernel oops.

Signed-off-by: Pavel Hofman <pavel.hofman@xxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>
---
sound/pci/ice1712/amp.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)

Index: longterm-2.6.27/sound/pci/ice1712/amp.c
===================================================================
--- longterm-2.6.27.orig/sound/pci/ice1712/amp.c 2012-02-05 22:34:32.865918049 +0100
+++ longterm-2.6.27/sound/pci/ice1712/amp.c 2012-02-05 22:34:44.825915033 +0100
@@ -67,8 +67,11 @@

static int __devinit snd_vt1724_amp_add_controls(struct snd_ice1712 *ice)
{
- /* we use pins 39 and 41 of the VT1616 for left and right read outputs */
- snd_ac97_write_cache(ice->ac97, 0x5a, snd_ac97_read(ice->ac97, 0x5a) & ~0x8000);
+ if (ice->ac97)
+ /* we use pins 39 and 41 of the VT1616 for left and right
+ read outputs */
+ snd_ac97_write_cache(ice->ac97, 0x5a,
+ snd_ac97_read(ice->ac97, 0x5a) & ~0x8000);
return 0;
}



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/