snd_printk("activ frame status %i. Most propably some hardware problem.\n", urb->iso_frame_desc[i].status); 
snd_printk(KERN_ERR "activ frame status %i. Most propably some hardware problem.\n", urb->iso_frame_desc[i].status); 
static int usX2Y_usbpcm_urb_capt_retire(snd_usX2Y_substream_t *subs){	struct urb	*urb = subs->completed_urb;	snd_pcm_runtime_t *runtime = subs->pcm_substream->runtime;	int 		i, lens = 0, hwptr_done = subs->hwptr_done;	usX2Ydev_t	*usX2Y = subs->usX2Y;	if (0 > usX2Y->hwdep_pcm_shm->capture_iso_start) { //FIXME		int head = usX2Y->hwdep_pcm_shm->captured_iso_head + 1;		if (head >= ARRAY_SIZE(usX2Y->hwdep_pcm_shm->captured_iso))			head = 0;		usX2Y->hwdep_pcm_shm->capture_iso_start = head;		snd_printdd("cap start %i\n", head);	}	for (i = 0; i < nr_of_packs(); i++) {		if (urb->iso_frame_desc[i].status) { /* active? hmm, skip this */			snd_printk("activ frame status %i. Most propably some hardware problem.\n", urb->iso_frame_desc[i].status);			return urb->iso_frame_desc[i].status;		}		lens += urb->iso_frame_desc[i].actual_length / usX2Y->stride;	}	if ((hwptr_done += lens) >= runtime->buffer_size)		hwptr_done -= runtime->buffer_size;	subs->hwptr_done = hwptr_done;	subs->transfer_done += lens;	/* update the pointer, call callback if necessary */	if (subs->transfer_done >= runtime->period_size) {		subs->transfer_done -= runtime->period_size;		snd_pcm_period_elapsed(subs->pcm_substream);	}	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/d3d579f84ebf701dedd22ba696d1738ed6759ef7/usx2yhwdeppcm.c/buggy/sound/usb/usx2y/usx2yhwdeppcm.c