diff options
author | Krzysztof Helt <krzysztof.h1@wp.pl> | 2009-11-27 11:20:56 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-11-27 11:21:40 +0100 |
commit | 8700055e0a30b3f67c1474b09200b59c32dd3796 (patch) | |
tree | e33e1179fb0ab43ae56c77dc8ee394403652e670 | |
parent | 9dc9120c774e1d7e3d939542200bd44829c0059d (diff) | |
download | op-kernel-dev-8700055e0a30b3f67c1474b09200b59c32dd3796.zip op-kernel-dev-8700055e0a30b3f67c1474b09200b59c32dd3796.tar.gz |
ALSA: opti-miro: fix OOPS if hardware is not detected
If a hardware is not detected there is a kernel crash
due to not initialized snd_miro->aci pointer. This pointer
is initialized after detection of the opti (miro) chip.
This bug was introduced by patches to expose
ACI mikser outside the snd-miro driver.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/isa/opti9xx/miro.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/isa/opti9xx/miro.c b/sound/isa/opti9xx/miro.c index 40b64cd..e374869 100644 --- a/sound/isa/opti9xx/miro.c +++ b/sound/isa/opti9xx/miro.c @@ -1229,7 +1229,8 @@ static void snd_card_miro_free(struct snd_card *card) struct snd_miro *miro = card->private_data; release_and_free_resource(miro->res_aci_port); - miro->aci->aci_port = 0; + if (miro->aci) + miro->aci->aci_port = 0; release_and_free_resource(miro->res_mc_base); } |