exit: 
exit: 
static void wacom_penpartner_irq(struct urb *urb, struct pt_regs *regs){	struct wacom *wacom = urb->context;	unsigned char *data = wacom->data;	struct input_dev *dev = &wacom->dev;	int retval;	switch (urb->status) {	case 0:		/* success */		break;	case -ECONNRESET:	case -ENOENT:	case -ESHUTDOWN:		/* this urb is terminated, clean up */		dbg("%s - urb shutting down with status: %d", __FUNCTION__, urb->status);		return;	default:		dbg("%s - nonzero urb status received: %d", __FUNCTION__, urb->status);		goto exit;	}	if (data[0] != 2) {		printk(KERN_INFO "wacom_penpartner_irq: received unknown report #%d\n", data[0]);		goto exit;	}	input_regs(dev, regs);	input_report_key(dev, BTN_TOOL_PEN, 1);	input_report_abs(dev, ABS_X, le16_to_cpu(*(__le16 *) &data[1]));	input_report_abs(dev, ABS_Y, le16_to_cpu(*(__le16 *) &data[3]));	input_report_abs(dev, ABS_PRESSURE, (signed char)data[6] + 127);	input_report_key(dev, BTN_TOUCH, ((signed char)data[6] > -80) && !(data[5] & 0x20));	input_report_key(dev, BTN_STYLUS, (data[5] & 0x40));	input_sync(dev);exit:	retval = usb_submit_urb (urb, GFP_ATOMIC);	if (retval)		err ("%s - usb_submit_urb failed with result %d",		     __FUNCTION__, retval);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/e5119885f00874453e837e3407014b73de2f4741/wacom.c/buggy/drivers/usb/input/wacom.c