uhci->fl->frame[td->frame] = td->link; uhci->fl->frame_cpu[td->frame] = NULL; 
uhci->frame[td->frame] = td->link; uhci->frame_cpu[td->frame] = NULL; 
static void uhci_remove_td(struct uhci_hcd *uhci, struct uhci_td *td){	/* If it's not inserted, don't remove it */	if (td->frame == -1 && list_empty(&td->fl_list))		return;	if (td->frame != -1 && uhci->fl->frame_cpu[td->frame] == td) {		if (list_empty(&td->fl_list)) {			uhci->fl->frame[td->frame] = td->link;			uhci->fl->frame_cpu[td->frame] = NULL;		} else {			struct uhci_td *ntd;			ntd = list_entry(td->fl_list.next, struct uhci_td, fl_list);			uhci->fl->frame[td->frame] = cpu_to_le32(ntd->dma_handle);			uhci->fl->frame_cpu[td->frame] = ntd;		}	} else {		struct uhci_td *ptd;		ptd = list_entry(td->fl_list.prev, struct uhci_td, fl_list);		ptd->link = td->link;	}	wmb();	td->link = UHCI_PTR_TERM;	list_del_init(&td->fl_list);	td->frame = -1;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/a1d59ce842a35b552f22868404e4e7c923242257/uhci-q.c/buggy/drivers/usb/host/uhci-q.c