continue; 
if (urb->iso_frame_desc[i].status != -EPROTO) continue; 
void em2820_isocIrq(struct urb *urb, struct pt_regs *regs){	struct em2820 *dev = urb->context;	int i, status;	struct em2820_frame_t **f;	unsigned long lock_flags;	if (!dev)		return;#ifdef ENABLE_DEBUG_ISOC_FRAMES	if (isoc_debug>1)		em2820_isoc_dump(urb, regs);#endif	if (urb->status == -ENOENT)		return;	f = &dev->frame_current;	if (dev->stream == STREAM_INTERRUPT) {		dev->stream = STREAM_OFF;		if ((*f))			(*f)->state = F_QUEUED;		em2820_isocdbg("stream interrupted");		wake_up_interruptible(&dev->wait_stream);	}	if ((dev->state & DEV_DISCONNECTED) || (dev->state & DEV_MISCONFIGURED))		return;	if (dev->stream == STREAM_ON && !list_empty(&dev->inqueue)) {		if (!(*f))			(*f) = list_entry(dev->inqueue.next,		struct em2820_frame_t, frame);		for (i = 0; i < urb->number_of_packets; i++) {			unsigned char *buf = urb->transfer_buffer +					urb->iso_frame_desc[i].offset;			int len = urb->iso_frame_desc[i].actual_length - 4;			if (urb->iso_frame_desc[i].status) {				em2820_isocdbg("data error: [%d] len=%d, status=%d", i,					urb->iso_frame_desc[i].actual_length,					urb->iso_frame_desc[i].status);				continue;			}			if (urb->iso_frame_desc[i].actual_length <= 0) {				em2820_isocdbg("packet %d is empty",i);				continue;			}			if (urb->iso_frame_desc[i].actual_length >						 dev->max_pkt_size) {				em2820_isocdbg("packet bigger than packet size");				continue;			}			/*new frame */			if (buf[0] == 0x22 && buf[1] == 0x5a) {				em2820_isocdbg("Video frame, length=%i!",len);				if (em2820_isoc_video(dev,f,&lock_flags,buf[2]))				break;			} else if (buf[0]==0x33 && buf[1]==0x95 && buf[2]==0x00) {				em2820_isocdbg("VBI HEADER!!!");			}			/* actual copying */			if ((*f)->state == F_GRABBING) {				em2820_isoc_video_copy(dev,f,buf, len);			}		}	}	for (i = 0; i < urb->number_of_packets; i++) {		urb->iso_frame_desc[i].status = 0;		urb->iso_frame_desc[i].actual_length = 0;	}	urb->status = 0;	if ((status = usb_submit_urb(urb, GFP_ATOMIC))) {		em2820_errdev("resubmit of urb failed (error=%i)\n", status);		dev->state |= DEV_MISCONFIGURED;	}	wake_up_interruptible(&dev->wait_frame);	return;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/feff0485ebcf05b5af8a3c82aa5c361d9f8b6e75/em28xx-core.c/clean/drivers/media/video/em28xx/em28xx-core.c