ALSA: sound/usb: fix UAC1 regression
[safe/jmp/linux-2.6] / sound / oss / sb_card.c
index d38e88a..7de18b5 100644 (file)
@@ -22,7 +22,6 @@
  * 02-07-2003 Bug made it into first release. Take two.
  */
 
-#include <linux/config.h>
 #include <linux/module.h>
 #include <linux/moduleparam.h>
 #include <linux/init.h>
@@ -138,11 +137,10 @@ static int __init sb_init_legacy(void)
 {
        struct sb_module_options sbmo = {0};
 
-       if((legacy = kmalloc(sizeof(struct sb_card_config), GFP_KERNEL)) == NULL) {
+       if((legacy = kzalloc(sizeof(struct sb_card_config), GFP_KERNEL)) == NULL) {
                printk(KERN_ERR "sb: Error: Could not allocate memory\n");
                return -ENOMEM;
        }
-       memset(legacy, 0, sizeof(struct sb_card_config));
 
        legacy->conf.io_base      = io;
        legacy->conf.irq          = irq;
@@ -248,11 +246,10 @@ static int sb_pnp_probe(struct pnp_card_link *card, const struct pnp_card_device
                return -EBUSY;
        }
 
-       if((scc = kmalloc(sizeof(struct sb_card_config), GFP_KERNEL)) == NULL) {
+       if((scc = kzalloc(sizeof(struct sb_card_config), GFP_KERNEL)) == NULL) {
                printk(KERN_ERR "sb: Error: Could not allocate memory\n");
                return -ENOMEM;
        }
-       memset(scc, 0, sizeof(struct sb_card_config));
 
        printk(KERN_INFO "sb: PnP: Found Card Named = \"%s\", Card PnP id = " \
               "%s, Device PnP id = %s\n", card->card->name, card_id->id,
@@ -293,7 +290,7 @@ static struct pnp_card_driver sb_pnp_driver = {
 MODULE_DEVICE_TABLE(pnp_card, sb_pnp_card_table);
 #endif /* CONFIG_PNP */
 
-static void __init_or_module sb_unregister_all(void)
+static void sb_unregister_all(void)
 {
 #ifdef CONFIG_PNP
        if (pnp_registered)
@@ -348,10 +345,8 @@ static void __exit sb_exit(void)
 
        sb_unregister_all();
 
-       if (smw_free) {
-               vfree(smw_free);
-               smw_free = NULL;
-       }
+       vfree(smw_free);
+       smw_free = NULL;
 }
 
 module_init(sb_init);