if (substream && substream->open_flag) 
if (substream && substream->ffile != NULL) 
static int usX2Y_pcms_lock_check(snd_card_t *card){	struct list_head *list;	snd_device_t *dev;	snd_pcm_t *pcm;	int err = 0;	list_for_each(list, &card->devices) {		dev = snd_device(list);		if (dev->type != SNDRV_DEV_PCM)			continue;		pcm = dev->device_data;		down(&pcm->open_mutex);	}	list_for_each(list, &card->devices) {		int s;		dev = snd_device(list);		if (dev->type != SNDRV_DEV_PCM)			continue;		pcm = dev->device_data;		for (s = 0; s < 2; ++s) {			snd_pcm_substream_t *substream;			substream = pcm->streams[s].substream;			if (substream && substream->open_flag)				err = -EBUSY;		}	}	return err;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/443feb882679e21ba5d1e0ff9eff067ac26d9461/usx2yhwdeppcm.c/clean/sound/usb/usx2y/usx2yhwdeppcm.c