summary refs log tree commit diff
path: root/sound/pci/azt3328.c
diff options
context:
space:
mode:
authorAlban Bedel <albeu@free.fr>2012-02-25 16:15:57 +0100
committerTakashi Iwai <tiwai@suse.de>2012-02-25 19:03:18 +0100
commit87c9e7d7027643bf248b396c15c804456e967fcd (patch)
tree075b11728490d485cd761ff529b1ecf830c1b205 /sound/pci/azt3328.c
parent068b939431486f524438330b0848a8222e33d421 (diff)
downloadlinux-87c9e7d7027643bf248b396c15c804456e967fcd.tar.gz
ALSA: azt3328 - Fix NULL ptr dereference on cards without OPL3
opl3->private_data was set even if opl3 could not be created.

Signed-off-by: Alban Bedel <albeu@free.fr>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/azt3328.c')
-rw-r--r--sound/pci/azt3328.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/sound/pci/azt3328.c b/sound/pci/azt3328.c
index 95ffa6a9db6e..496f14c1a731 100644
--- a/sound/pci/azt3328.c
+++ b/sound/pci/azt3328.c
@@ -2684,10 +2684,9 @@ snd_azf3328_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
 		err = snd_opl3_hwdep_new(opl3, 0, 1, NULL);
 		if (err < 0)
 			goto out_err;
+		opl3->private_data = chip;
 	}
 
-	opl3->private_data = chip;
-
 	sprintf(card->longname, "%s at 0x%lx, irq %i",
 		card->shortname, chip->ctrl_io, chip->irq);