linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / sound / oss / msnd.c
index ba38d62..a7ad2b0 100644 (file)
@@ -47,7 +47,7 @@
 static multisound_dev_t                *devs[MSND_MAX_DEVS];
 static int                     num_devs;
 
-int msnd_register(multisound_dev_t *dev)
+int __init msnd_register(multisound_dev_t *dev)
 {
        int i;
 
@@ -95,8 +95,10 @@ void msnd_fifo_init(msnd_fifo *f)
 
 void msnd_fifo_free(msnd_fifo *f)
 {
-       vfree(f->data);
-       f->data = NULL;
+       if (f->data) {
+               vfree(f->data);
+               f->data = NULL;
+       }
 }
 
 int msnd_fifo_alloc(msnd_fifo *f, size_t n)