if (substream->open_flag) { 
if (substream->ffile != NULL) { 
static int snd_pcm_oss_release_file(snd_pcm_oss_file_t *pcm_oss_file){	int cidx;	snd_assert(pcm_oss_file != NULL, return -ENXIO);	for (cidx = 0; cidx < 2; ++cidx) {		snd_pcm_substream_t *substream = pcm_oss_file->streams[cidx];		snd_pcm_runtime_t *runtime;		if (substream == NULL)			continue;		runtime = substream->runtime;				snd_pcm_stream_lock_irq(substream);		if (snd_pcm_running(substream))			snd_pcm_stop(substream, SNDRV_PCM_STATE_SETUP);		snd_pcm_stream_unlock_irq(substream);		if (substream->open_flag) {			if (substream->ops->hw_free != NULL)				substream->ops->hw_free(substream);			substream->ops->close(substream);			substream->open_flag = 0;		}		substream->ffile = NULL;		snd_pcm_oss_release_substream(substream);		snd_pcm_release_substream(substream);	}	kfree(pcm_oss_file);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/443feb882679e21ba5d1e0ff9eff067ac26d9461/pcm_oss.c/buggy/sound/core/oss/pcm_oss.c