snd_printk("open_capture_channel: failed epcm alloc\n"); 
snd_printk(KERN_ERR "open_capture_channel: failed epcm alloc\n"); 
static int snd_ca0106_pcm_open_capture_channel(snd_pcm_substream_t *substream, int channel_id){	ca0106_t *chip = snd_pcm_substream_chip(substream);        ca0106_channel_t *channel = &(chip->capture_channels[channel_id]);	ca0106_pcm_t *epcm;	snd_pcm_runtime_t *runtime = substream->runtime;	int err;	epcm = kzalloc(sizeof(*epcm), GFP_KERNEL);	if (epcm == NULL) {                snd_printk("open_capture_channel: failed epcm alloc\n");		return -ENOMEM;        }	epcm->emu = chip;	epcm->substream = substream;        epcm->channel_id=channel_id;  	runtime->private_data = epcm;	runtime->private_free = snd_ca0106_pcm_free_substream;  	runtime->hw = snd_ca0106_capture_hw;        channel->emu = chip;        channel->number = channel_id;        channel->use=1;        //printk("open:channel_id=%d, chip=%p, channel=%p\n",channel_id, chip, channel);        //channel->interrupt = snd_ca0106_pcm_channel_interrupt;        channel->epcm=epcm;	if ((err = snd_pcm_hw_constraint_integer(runtime, SNDRV_PCM_HW_PARAM_PERIODS)) < 0)                return err;	//snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, &hw_constraints_capture_period_sizes);	if ((err = snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_BYTES, 64)) < 0)                return err;	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/99b359ba10a582148c6725f428a33ba5356dd993/ca0106_main.c/buggy/sound/pci/ca0106/ca0106_main.c