snd_printk("should not be here with counts=%i\n", counts); 
snd_printk(KERN_ERR "should not be here with counts=%i\n", counts); 
static int usX2Y_urb_play_prepare(snd_usX2Y_substream_t *subs,				  struct urb *cap_urb,				  struct urb *urb){	int count, counts, pack;	usX2Ydev_t* usX2Y = subs->usX2Y;	snd_pcm_runtime_t *runtime = subs->pcm_substream->runtime;	count = 0;	for (pack = 0; pack <  nr_of_packs(); pack++) {		/* calculate the size of a packet */		counts = cap_urb->iso_frame_desc[pack].actual_length / usX2Y->stride;		count += counts;		if (counts < 43 || counts > 50) {			snd_printk("should not be here with counts=%i\n", counts);			return -EPIPE;		}		/* set up descriptor */		urb->iso_frame_desc[pack].offset = pack ?			urb->iso_frame_desc[pack - 1].offset + urb->iso_frame_desc[pack - 1].length :			0;		urb->iso_frame_desc[pack].length = cap_urb->iso_frame_desc[pack].actual_length;	}	if (atomic_read(&subs->state) >= state_PRERUNNING)		if (subs->hwptr + count > runtime->buffer_size) {			/* err, the transferred area goes over buffer boundary.			 * copy the data to the temp buffer.			 */			int len;			len = runtime->buffer_size - subs->hwptr;			urb->transfer_buffer = subs->tmpbuf;			memcpy(subs->tmpbuf, runtime->dma_area + subs->hwptr * usX2Y->stride, len * usX2Y->stride);			memcpy(subs->tmpbuf + len * usX2Y->stride, runtime->dma_area, (count - len) * usX2Y->stride);			subs->hwptr += count;			subs->hwptr -= runtime->buffer_size;		} else {			/* set the buffer pointer */			urb->transfer_buffer = runtime->dma_area + subs->hwptr * usX2Y->stride;			if ((subs->hwptr += count) >= runtime->buffer_size)			subs->hwptr -= runtime->buffer_size;					}	else		urb->transfer_buffer = subs->tmpbuf;	urb->transfer_buffer_length = count * usX2Y->stride;	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/d3d579f84ebf701dedd22ba696d1738ed6759ef7/usbusx2yaudio.c/clean/sound/usb/usx2y/usbusx2yaudio.c