ALSA: opti-miro: fix OOPS if hardware is not detected
authorKrzysztof Helt <krzysztof.h1@wp.pl>
Fri, 27 Nov 2009 10:20:56 +0000 (11:20 +0100)
committerTakashi Iwai <tiwai@suse.de>
Fri, 27 Nov 2009 10:21:40 +0000 (11:21 +0100)
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>
sound/isa/opti9xx/miro.c

index 40b64cd54c8525ba3c8ed342d6cd0eccb817f936..e374869e3e21e5fcd568c5752711ce15e05a9e54 100644 (file)
@@ -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);
 }