entry->c.text.read = snd_pcm_xrun_debug_read;
                entry->c.text.write_size = 64;
                entry->c.text.write = snd_pcm_xrun_debug_write;
+               entry->mode |= S_IWUSR;
                entry->private_data = pstr;
                if (snd_info_register(entry) < 0) {
                        snd_info_free_entry(entry);
 
                entry->c.text.read = snd_pcm_lib_preallocate_proc_read;
                entry->c.text.write_size = 64;
                entry->c.text.write = snd_pcm_lib_preallocate_proc_write;
+               entry->mode |= S_IWUSR;
                entry->private_data = substream;
                if (snd_info_register(entry) < 0) {
                        snd_info_free_entry(entry);
 
                snd_info_set_text_ops(entry, emu, 1024, snd_ca0106_proc_reg_read32);
                entry->c.text.write_size = 64;
                entry->c.text.write = snd_ca0106_proc_reg_write32;
+               entry->mode |= S_IWUSR;
        }
        if(! snd_card_proc_new(emu->card, "ca0106_reg16", &entry))
                snd_info_set_text_ops(entry, emu, 1024, snd_ca0106_proc_reg_read16);
                snd_info_set_text_ops(entry, emu, 1024, snd_ca0106_proc_reg_read1);
                entry->c.text.write_size = 64;
                entry->c.text.write = snd_ca0106_proc_reg_write;
+               entry->mode |= S_IWUSR;
 //             entry->private_data = emu;
        }
        if(! snd_card_proc_new(emu->card, "ca0106_regs2", &entry)) 
 
                snd_info_set_text_ops(entry, emu, 1024, snd_emu_proc_io_reg_read);
                entry->c.text.write_size = 64;
                entry->c.text.write = snd_emu_proc_io_reg_write;
+               entry->mode |= S_IWUSR;
        }
        if (! snd_card_proc_new(emu->card, "ptr_regs00a", &entry)) {
                snd_info_set_text_ops(entry, emu, 65536, snd_emu_proc_ptr_reg_read00a);
                entry->c.text.write_size = 64;
                entry->c.text.write = snd_emu_proc_ptr_reg_write00;
+               entry->mode |= S_IWUSR;
        }
        if (! snd_card_proc_new(emu->card, "ptr_regs00b", &entry)) {
                snd_info_set_text_ops(entry, emu, 65536, snd_emu_proc_ptr_reg_read00b);
                entry->c.text.write_size = 64;
                entry->c.text.write = snd_emu_proc_ptr_reg_write00;
+               entry->mode |= S_IWUSR;
        }
        if (! snd_card_proc_new(emu->card, "ptr_regs20a", &entry)) {
                snd_info_set_text_ops(entry, emu, 65536, snd_emu_proc_ptr_reg_read20a);
                entry->c.text.write_size = 64;
                entry->c.text.write = snd_emu_proc_ptr_reg_write20;
+               entry->mode |= S_IWUSR;
        }
        if (! snd_card_proc_new(emu->card, "ptr_regs20b", &entry)) {
                snd_info_set_text_ops(entry, emu, 65536, snd_emu_proc_ptr_reg_read20b);
                entry->c.text.write_size = 64;
                entry->c.text.write = snd_emu_proc_ptr_reg_write20;
+               entry->mode |= S_IWUSR;
        }
 #endif