diff options
author | Takashi Iwai <tiwai@suse.de> | 2008-07-17 17:37:20 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2008-07-18 05:59:40 -0400 |
commit | 82af6bc0986c5140efc875b2d91326031f0254ab (patch) | |
tree | bb6124529c7f0c5489205beb3bb031eeaf40f5f3 | |
parent | 2522d7359301efadfb5744ebd3c623c3af4a7b30 (diff) |
ALSA: opti93x - Fix NULL dereference
Probing non-existing device causes Oops with snd-opti93x driver
due to NULL access in the destructor of the error path.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Tested-by: Rene Herman <rene.herman@gmail.com>
Acked-by: Rene Herman <rene.herman@gmail.com>
Tested-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | sound/isa/opti9xx/opti92x-ad1848.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c index 41c047e665ec..d20abb286124 100644 --- a/sound/isa/opti9xx/opti92x-ad1848.c +++ b/sound/isa/opti9xx/opti92x-ad1848.c | |||
@@ -688,7 +688,7 @@ static void snd_card_opti9xx_free(struct snd_card *card) | |||
688 | if (chip) { | 688 | if (chip) { |
689 | #ifdef OPTi93X | 689 | #ifdef OPTi93X |
690 | struct snd_cs4231 *codec = chip->codec; | 690 | struct snd_cs4231 *codec = chip->codec; |
691 | if (codec->irq > 0) { | 691 | if (codec && codec->irq > 0) { |
692 | disable_irq(codec->irq); | 692 | disable_irq(codec->irq); |
693 | free_irq(codec->irq, codec); | 693 | free_irq(codec->irq, codec); |
694 | } | 694 | } |