uhci->state = UHCI_RUNNING_GRACE; uhci->state_end = jiffies + HZ; 
uhci->rh_state = UHCI_RH_RUNNING; 
static int start_hc(struct uhci_hcd *uhci){	unsigned long io_addr = uhci->io_addr;	int timeout = 10;	/*	 * Reset the HC - this will force us to get a	 * new notification of any already connected	 * ports due to the virtual disconnect that it	 * implies.	 */	outw(USBCMD_HCRESET, io_addr + USBCMD);	while (inw(io_addr + USBCMD) & USBCMD_HCRESET) {		if (--timeout < 0) {			dev_err(uhci_dev(uhci), "USBCMD_HCRESET timed out!\n");			return -ETIMEDOUT;		}		msleep(1);	}	/* Mark controller as running before we enable interrupts */	uhci_to_hcd(uhci)->state = HC_STATE_RUNNING;	/* Turn on PIRQ and all interrupts */	pci_write_config_word(to_pci_dev(uhci_dev(uhci)), USBLEGSUP,			USBLEGSUP_DEFAULT);	outw(USBINTR_TIMEOUT | USBINTR_RESUME | USBINTR_IOC | USBINTR_SP,		io_addr + USBINTR);	/* Start at frame 0 */	outw(0, io_addr + USBFRNUM);	outl(uhci->fl->dma_handle, io_addr + USBFLBASEADD);	/* Run and mark it configured with a 64-byte max packet */	uhci->state = UHCI_RUNNING_GRACE;	uhci->state_end = jiffies + HZ;	outw(USBCMD_RS | USBCMD_CF | USBCMD_MAXP, io_addr + USBCMD);	uhci->is_stopped = 0;	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/c8f4fe4358c5e0a79b4bd47b814d19f1d1d06f21/uhci-hcd.c/clean/drivers/usb/host/uhci-hcd.c