vserver 2.0 rc7
[linux-2.6.git] / sound / isa / sb / emu8000_patch.c
index 432c31e..4afc4a1 100644 (file)
 
 #include "emu8000_local.h"
 #include <asm/uaccess.h>
+#include <linux/moduleparam.h>
 
-MODULE_PARM(emu8000_reset_addr, "i");
+static int emu8000_reset_addr = 0;
+module_param(emu8000_reset_addr, int, 0444);
 MODULE_PARM_DESC(emu8000_reset_addr, "reset write address at each time (makes slowdown)");
 
-int emu8000_reset_addr = 0;
-
 
 /*
  * Open up channels.
@@ -87,14 +87,14 @@ read_word(const void __user *buf, int offset, int mode)
        unsigned short c;
        if (mode & SNDRV_SFNT_SAMPLE_8BITS) {
                unsigned char cc;
-               get_user(cc, (unsigned char*)buf + offset);
+               get_user(cc, (unsigned char __user *)buf + offset);
                c = cc << 8; /* convert 8bit -> 16bit */
        } else {
 #ifdef SNDRV_LITTLE_ENDIAN
-               get_user(c, (unsigned short*)buf + offset);
+               get_user(c, (unsigned short __user *)buf + offset);
 #else
                unsigned short cc;
-               get_user(cc, (unsigned short*)buf + offset);
+               get_user(cc, (unsigned short __user *)buf + offset);
                c = swab16(cc);
 #endif
        }
@@ -155,7 +155,7 @@ snd_emu8000_sample_new(snd_emux_t *rec, snd_sf_sample_t *sp,
        int  dram_offset, dram_start;
        emu8000_t *emu;
 
-       emu = snd_magic_cast(emu8000_t, rec->hw, return -EINVAL);
+       emu = rec->hw;
        snd_assert(sp != NULL, return -EINVAL);
 
        if (sp->v.size == 0)
@@ -183,10 +183,10 @@ snd_emu8000_sample_new(snd_emux_t *rec, snd_sf_sample_t *sp,
        }
 
        if (sp->v.mode_flags & SNDRV_SFNT_SAMPLE_8BITS) {
-               if (verify_area(VERIFY_READ, data, sp->v.size))
+               if (!access_ok(VERIFY_READ, data, sp->v.size))
                        return -EFAULT;
        } else {
-               if (verify_area(VERIFY_READ, data, sp->v.size * 2))
+               if (!access_ok(VERIFY_READ, data, sp->v.size * 2))
                        return -EFAULT;
        }