aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2005-04-12 10:27:28 -0400
committerJaroslav Kysela <perex@suse.cz>2005-05-29 04:00:39 -0400
commitbd7bf042e89941d4e693a0ec68c5093a2bb2adb3 (patch)
tree4a00c65644765b415b504d4e52471ea232a6dbcf
parent0af68e5ed45e985b676edfbe4b8851dd46316502 (diff)
[ALSA] Fix permissions in some /proc files
PCM Midlevel,CA0106 driver,EMU10K1/EMU10K2 driver Fix by Guillaume Chazarain <guichaz@yahoo.fr>: Some tunables in /proc have a write() function, but as their permission does not reflect it, it can be confusing to the user. So here is a patch that corrects the mode of those files. Note that I have only tested the 'xrun_debug' entry. Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/core/pcm.c1
-rw-r--r--sound/core/pcm_memory.c1
-rw-r--r--sound/pci/ca0106/ca0106_proc.c2
-rw-r--r--sound/pci/emu10k1/emu10k1x.c1
-rw-r--r--sound/pci/emu10k1/emuproc.c5
5 files changed, 10 insertions, 0 deletions
diff --git a/sound/core/pcm.c b/sound/core/pcm.c
index 8d94325529a8..a2757fcec1f0 100644
--- a/sound/core/pcm.c
+++ b/sound/core/pcm.c
@@ -451,6 +451,7 @@ static int snd_pcm_stream_proc_init(snd_pcm_str_t *pstr)
451 entry->c.text.read = snd_pcm_xrun_debug_read; 451 entry->c.text.read = snd_pcm_xrun_debug_read;
452 entry->c.text.write_size = 64; 452 entry->c.text.write_size = 64;
453 entry->c.text.write = snd_pcm_xrun_debug_write; 453 entry->c.text.write = snd_pcm_xrun_debug_write;
454 entry->mode |= S_IWUSR;
454 entry->private_data = pstr; 455 entry->private_data = pstr;
455 if (snd_info_register(entry) < 0) { 456 if (snd_info_register(entry) < 0) {
456 snd_info_free_entry(entry); 457 snd_info_free_entry(entry);
diff --git a/sound/core/pcm_memory.c b/sound/core/pcm_memory.c
index f1d5f7a6ee0c..9a174fb96565 100644
--- a/sound/core/pcm_memory.c
+++ b/sound/core/pcm_memory.c
@@ -204,6 +204,7 @@ static int snd_pcm_lib_preallocate_pages1(snd_pcm_substream_t *substream,
204 entry->c.text.read = snd_pcm_lib_preallocate_proc_read; 204 entry->c.text.read = snd_pcm_lib_preallocate_proc_read;
205 entry->c.text.write_size = 64; 205 entry->c.text.write_size = 64;
206 entry->c.text.write = snd_pcm_lib_preallocate_proc_write; 206 entry->c.text.write = snd_pcm_lib_preallocate_proc_write;
207 entry->mode |= S_IWUSR;
207 entry->private_data = substream; 208 entry->private_data = substream;
208 if (snd_info_register(entry) < 0) { 209 if (snd_info_register(entry) < 0) {
209 snd_info_free_entry(entry); 210 snd_info_free_entry(entry);
diff --git a/sound/pci/ca0106/ca0106_proc.c b/sound/pci/ca0106/ca0106_proc.c
index afb711421e47..0bc1d783a840 100644
--- a/sound/pci/ca0106/ca0106_proc.c
+++ b/sound/pci/ca0106/ca0106_proc.c
@@ -418,6 +418,7 @@ int __devinit snd_ca0106_proc_init(ca0106_t * emu)
418 snd_info_set_text_ops(entry, emu, 1024, snd_ca0106_proc_reg_read32); 418 snd_info_set_text_ops(entry, emu, 1024, snd_ca0106_proc_reg_read32);
419 entry->c.text.write_size = 64; 419 entry->c.text.write_size = 64;
420 entry->c.text.write = snd_ca0106_proc_reg_write32; 420 entry->c.text.write = snd_ca0106_proc_reg_write32;
421 entry->mode |= S_IWUSR;
421 } 422 }
422 if(! snd_card_proc_new(emu->card, "ca0106_reg16", &entry)) 423 if(! snd_card_proc_new(emu->card, "ca0106_reg16", &entry))
423 snd_info_set_text_ops(entry, emu, 1024, snd_ca0106_proc_reg_read16); 424 snd_info_set_text_ops(entry, emu, 1024, snd_ca0106_proc_reg_read16);
@@ -427,6 +428,7 @@ int __devinit snd_ca0106_proc_init(ca0106_t * emu)
427 snd_info_set_text_ops(entry, emu, 1024, snd_ca0106_proc_reg_read1); 428 snd_info_set_text_ops(entry, emu, 1024, snd_ca0106_proc_reg_read1);
428 entry->c.text.write_size = 64; 429 entry->c.text.write_size = 64;
429 entry->c.text.write = snd_ca0106_proc_reg_write; 430 entry->c.text.write = snd_ca0106_proc_reg_write;
431 entry->mode |= S_IWUSR;
430// entry->private_data = emu; 432// entry->private_data = emu;
431 } 433 }
432 if(! snd_card_proc_new(emu->card, "ca0106_regs2", &entry)) 434 if(! snd_card_proc_new(emu->card, "ca0106_regs2", &entry))
diff --git a/sound/pci/emu10k1/emu10k1x.c b/sound/pci/emu10k1/emu10k1x.c
index 04ba63762d3b..f8d92335a353 100644
--- a/sound/pci/emu10k1/emu10k1x.c
+++ b/sound/pci/emu10k1/emu10k1x.c
@@ -1075,6 +1075,7 @@ static int __devinit snd_emu10k1x_proc_init(emu10k1x_t * emu)
1075 snd_info_set_text_ops(entry, emu, 1024, snd_emu10k1x_proc_reg_read); 1075 snd_info_set_text_ops(entry, emu, 1024, snd_emu10k1x_proc_reg_read);
1076 entry->c.text.write_size = 64; 1076 entry->c.text.write_size = 64;
1077 entry->c.text.write = snd_emu10k1x_proc_reg_write; 1077 entry->c.text.write = snd_emu10k1x_proc_reg_write;
1078 entry->mode |= S_IWUSR;
1078 entry->private_data = emu; 1079 entry->private_data = emu;
1079 } 1080 }
1080 1081
diff --git a/sound/pci/emu10k1/emuproc.c b/sound/pci/emu10k1/emuproc.c
index 356fb7104253..cc22707c91fa 100644
--- a/sound/pci/emu10k1/emuproc.c
+++ b/sound/pci/emu10k1/emuproc.c
@@ -527,26 +527,31 @@ int __devinit snd_emu10k1_proc_init(emu10k1_t * emu)
527 snd_info_set_text_ops(entry, emu, 1024, snd_emu_proc_io_reg_read); 527 snd_info_set_text_ops(entry, emu, 1024, snd_emu_proc_io_reg_read);
528 entry->c.text.write_size = 64; 528 entry->c.text.write_size = 64;
529 entry->c.text.write = snd_emu_proc_io_reg_write; 529 entry->c.text.write = snd_emu_proc_io_reg_write;
530 entry->mode |= S_IWUSR;
530 } 531 }
531 if (! snd_card_proc_new(emu->card, "ptr_regs00a", &entry)) { 532 if (! snd_card_proc_new(emu->card, "ptr_regs00a", &entry)) {
532 snd_info_set_text_ops(entry, emu, 65536, snd_emu_proc_ptr_reg_read00a); 533 snd_info_set_text_ops(entry, emu, 65536, snd_emu_proc_ptr_reg_read00a);
533 entry->c.text.write_size = 64; 534 entry->c.text.write_size = 64;
534 entry->c.text.write = snd_emu_proc_ptr_reg_write00; 535 entry->c.text.write = snd_emu_proc_ptr_reg_write00;
536 entry->mode |= S_IWUSR;
535 } 537 }
536 if (! snd_card_proc_new(emu->card, "ptr_regs00b", &entry)) { 538 if (! snd_card_proc_new(emu->card, "ptr_regs00b", &entry)) {
537 snd_info_set_text_ops(entry, emu, 65536, snd_emu_proc_ptr_reg_read00b); 539 snd_info_set_text_ops(entry, emu, 65536, snd_emu_proc_ptr_reg_read00b);
538 entry->c.text.write_size = 64; 540 entry->c.text.write_size = 64;
539 entry->c.text.write = snd_emu_proc_ptr_reg_write00; 541 entry->c.text.write = snd_emu_proc_ptr_reg_write00;
542 entry->mode |= S_IWUSR;
540 } 543 }
541 if (! snd_card_proc_new(emu->card, "ptr_regs20a", &entry)) { 544 if (! snd_card_proc_new(emu->card, "ptr_regs20a", &entry)) {
542 snd_info_set_text_ops(entry, emu, 65536, snd_emu_proc_ptr_reg_read20a); 545 snd_info_set_text_ops(entry, emu, 65536, snd_emu_proc_ptr_reg_read20a);
543 entry->c.text.write_size = 64; 546 entry->c.text.write_size = 64;
544 entry->c.text.write = snd_emu_proc_ptr_reg_write20; 547 entry->c.text.write = snd_emu_proc_ptr_reg_write20;
548 entry->mode |= S_IWUSR;
545 } 549 }
546 if (! snd_card_proc_new(emu->card, "ptr_regs20b", &entry)) { 550 if (! snd_card_proc_new(emu->card, "ptr_regs20b", &entry)) {
547 snd_info_set_text_ops(entry, emu, 65536, snd_emu_proc_ptr_reg_read20b); 551 snd_info_set_text_ops(entry, emu, 65536, snd_emu_proc_ptr_reg_read20b);
548 entry->c.text.write_size = 64; 552 entry->c.text.write_size = 64;
549 entry->c.text.write = snd_emu_proc_ptr_reg_write20; 553 entry->c.text.write = snd_emu_proc_ptr_reg_write20;
554 entry->mode |= S_IWUSR;
550 } 555 }
551#endif 556#endif
552 557