ALSA: hda - Fix oops caused by recent commit "Fix internal mic for Lenovo Ideapad...
authorDavid Henningsson <david.henningsson@canonical.com>
Tue, 10 Apr 2012 11:05:29 +0000 (13:05 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 7 Jun 2014 23:02:08 +0000 (16:02 -0700)
commit 83b0c6ba999643ee8ad6329f26e1cdc870e1a920 upstream.

Make sure we don't dereference the "quirk" pointer when it is null.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Cc: Weng Meiling <wengmeiling.weng@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/pci/hda/patch_conexant.c

index a0c3ac3..d4caf87 100644 (file)
@@ -4430,7 +4430,9 @@ static void apply_fixup(struct hda_codec *codec,
         struct conexant_spec *spec = codec->spec;
 
        quirk = snd_pci_quirk_lookup(codec->bus->pci, quirk);
-       if (quirk && table[quirk->value]) {
+       if (!quirk)
+               return;
+       if (table[quirk->value]) {
                snd_printdd(KERN_INFO "hda_codec: applying pincfg for %s\n",
                            quirk->name);
                apply_pincfg(codec, table[quirk->value]);