toggle = 0; dir = PTD_DIR_SETUP; 
static void preproc_atl_queue(struct isp116x *isp116x){	struct isp116x_ep *ep;	struct urb *urb;	struct ptd *ptd;	u16 toggle, dir, len;	for (ep = isp116x->atl_active; ep; ep = ep->active) {		BUG_ON(list_empty(&ep->hep->urb_list));		urb = container_of(ep->hep->urb_list.next,				   struct urb, urb_list);		ptd = &ep->ptd;		len = ep->length;		spin_lock(&urb->lock);		ep->data = (unsigned char *)urb->transfer_buffer		    + urb->actual_length;		switch (ep->nextpid) {		case USB_PID_IN:			toggle = usb_gettoggle(urb->dev, ep->epnum, 0);			dir = PTD_DIR_IN;			break;		case USB_PID_OUT:			toggle = usb_gettoggle(urb->dev, ep->epnum, 1);			dir = PTD_DIR_OUT;			break;		case USB_PID_SETUP:			toggle = 0;			dir = PTD_DIR_SETUP;			len = sizeof(struct usb_ctrlrequest);			ep->data = urb->setup_packet;			break;		case USB_PID_ACK:			toggle = 1;			len = 0;			dir = (urb->transfer_buffer_length			       && usb_pipein(urb->pipe))			    ? PTD_DIR_OUT : PTD_DIR_IN;			break;		default:			/* To please gcc */			toggle = dir = 0;			ERR("%s %d: ep->nextpid %d\n", __func__, __LINE__,			    ep->nextpid);			BUG_ON(1);		}		ptd->count = PTD_CC_MSK | PTD_ACTIVE_MSK | PTD_TOGGLE(toggle);		ptd->mps = PTD_MPS(ep->maxpacket)		    | PTD_SPD(urb->dev->speed == USB_SPEED_LOW)		    | PTD_EP(ep->epnum);		ptd->len = PTD_LEN(len) | PTD_DIR(dir);		ptd->faddr = PTD_FA(usb_pipedevice(urb->pipe));		spin_unlock(&urb->lock);		if (!ep->active) {			ptd->mps |= PTD_LAST_MSK;			isp116x->atl_last_dir = dir;		}		isp116x->atl_bufshrt = sizeof(struct ptd) + isp116x->atl_buflen;		isp116x->atl_buflen = isp116x->atl_bufshrt + ALIGN(len, 4);	}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/17f8bb7312fa9b00f80c3c0f8d5a5d698eb97bbd/isp116x-hcd.c/clean/drivers/usb/host/isp116x-hcd.c