2004-03-15 19:27:26

by Dave Jones

[permalink] [raw]
Subject: [ALSA][2/6] Fix oops when initialisation fails.

Try modprobing a driver that the hardware doesn't exist for.
In a few situations, you'll hit an oops due to proc_id not
being filled out that early.

Dave


--- linux-2.6.4/sound/core/init.c~ 2004-03-15 17:45:20.000000000 +0000
+++ linux-2.6.4/sound/core/init.c 2004-03-15 17:45:40.000000000 +0000
@@ -281,7 +281,8 @@
}
if (card->private_free)
card->private_free(card);
- snd_info_unregister(card->proc_id);
+ if (card->proc_id)
+ snd_info_unregister(card->proc_id);
if (snd_info_card_free(card) < 0) {
snd_printk(KERN_WARNING "unable to free card info\n");
/* Not fatal error */