entry->mode |= S_IWUSR; 
static int snd_pcm_stream_proc_init(snd_pcm_str_t *pstr){	snd_pcm_t *pcm = pstr->pcm;	snd_info_entry_t *entry;	char name[16];	sprintf(name, "pcm%i%c", pcm->device, 		pstr->stream == SNDRV_PCM_STREAM_PLAYBACK ? 'p' : 'c');	if ((entry = snd_info_create_card_entry(pcm->card, name, pcm->card->proc_root)) == NULL)		return -ENOMEM;	entry->mode = S_IFDIR | S_IRUGO | S_IXUGO;	if (snd_info_register(entry) < 0) {		snd_info_free_entry(entry);		return -ENOMEM;	}	pstr->proc_root = entry;	if ((entry = snd_info_create_card_entry(pcm->card, "info", pstr->proc_root)) != NULL) {		snd_info_set_text_ops(entry, pstr, 256, snd_pcm_stream_proc_info_read);		if (snd_info_register(entry) < 0) {			snd_info_free_entry(entry);			entry = NULL;		}	}	pstr->proc_info_entry = entry;#ifdef CONFIG_SND_DEBUG	if ((entry = snd_info_create_card_entry(pcm->card, "xrun_debug", pstr->proc_root)) != NULL) {		entry->c.text.read_size = 64;		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->private_data = pstr;		if (snd_info_register(entry) < 0) {			snd_info_free_entry(entry);			entry = NULL;		}	}	pstr->proc_xrun_debug_entry = entry;#endif	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/bd7bf042e89941d4e693a0ec68c5093a2bb2adb3/pcm.c/buggy/sound/core/pcm.c