if (err) { snd_printk("In04Int() usb_submit_urb err=%i\n", err); } 
if (err) snd_printk(KERN_ERR "In04Int() usb_submit_urb err=%i\n", err); 
static void i_usX2Y_In04Int(struct urb* urb, struct pt_regs *regs){	int			err = 0;	usX2Ydev_t		*usX2Y = urb->context;	us428ctls_sharedmem_t	*us428ctls = usX2Y->us428ctls_sharedmem;	usX2Y->In04IntCalls++;	if (urb->status) {		snd_printdd("Interrupt Pipe 4 came back with status=%i\n", urb->status);		return;	}	//	printk("%i:0x%02X ", 8, (int)((unsigned char*)usX2Y->In04Buf)[8]); Master volume shows 0 here if fader is at max during boot ?!?	if (us428ctls) {		int diff = -1;		if (-2 == us428ctls->CtlSnapShotLast) {			diff = 0;			memcpy(usX2Y->In04Last, usX2Y->In04Buf, sizeof(usX2Y->In04Last));			us428ctls->CtlSnapShotLast = -1;		} else {			int i;			for (i = 0; i < 21; i++) {				if (usX2Y->In04Last[i] != ((char*)usX2Y->In04Buf)[i]) {					if (diff < 0)						diff = i;					usX2Y->In04Last[i] = ((char*)usX2Y->In04Buf)[i];				}			}		}		if (0 <= diff) {			int n = us428ctls->CtlSnapShotLast + 1;			if (n >= N_us428_ctl_BUFS  ||  n < 0)				n = 0;			memcpy(us428ctls->CtlSnapShot + n, usX2Y->In04Buf, sizeof(us428ctls->CtlSnapShot[0]));			us428ctls->CtlSnapShotDiffersAt[n] = diff;			us428ctls->CtlSnapShotLast = n;			wake_up(&usX2Y->us428ctls_wait_queue_head);		}	}			if (usX2Y->US04) {		if (0 == usX2Y->US04->submitted)			do				err = usb_submit_urb(usX2Y->US04->urb[usX2Y->US04->submitted++], GFP_ATOMIC);			while (!err && usX2Y->US04->submitted < usX2Y->US04->len);	} else		if (us428ctls && us428ctls->p4outLast >= 0 && us428ctls->p4outLast < N_us428_p4out_BUFS) {			if (us428ctls->p4outLast != us428ctls->p4outSent) {				int j, send = us428ctls->p4outSent + 1;				if (send >= N_us428_p4out_BUFS)					send = 0;				for (j = 0; j < URBS_AsyncSeq  &&  !err; ++j)					if (0 == usX2Y->AS04.urb[j]->status) {						us428_p4out_t *p4out = us428ctls->p4out + send;	// FIXME if more then 1 p4out is new, 1 gets lost.						usb_fill_bulk_urb(usX2Y->AS04.urb[j], usX2Y->chip.dev,								  usb_sndbulkpipe(usX2Y->chip.dev, 0x04), &p4out->val.vol, 								  p4out->type == eLT_Light ? sizeof(us428_lights_t) : 5,								  i_usX2Y_Out04Int, usX2Y);						err = usb_submit_urb(usX2Y->AS04.urb[j], GFP_ATOMIC);						us428ctls->p4outSent = send;						break;					}			}		}	if (err) {		snd_printk("In04Int() usb_submit_urb err=%i\n", err);	}	urb->dev = usX2Y->chip.dev;	usb_submit_urb(urb, GFP_ATOMIC);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/d3d579f84ebf701dedd22ba696d1738ed6759ef7/usbusx2y.c/buggy/sound/usb/usx2y/usbusx2y.c