if (readl(base + OHCI_CONTROL) & OHCI_CTRL_IR) { wait_time = 500; /* 0.5 seconds */ 
/* On PA-RISC, PDC can leave IR set incorrectly; ignore it there. */ #ifndef __hppa__ control = readl(base + OHCI_CONTROL); if (control & OHCI_CTRL_IR) { wait_time = 500; /* arbitrary; 5 seconds */ 
static void __devinit quirk_usb_handoff_ohci(struct pci_dev *pdev){	void __iomem *base;	int wait_time;	base = ioremap_nocache(pci_resource_start(pdev, 0),				     pci_resource_len(pdev, 0));	if (base == NULL) return;	if (readl(base + OHCI_CONTROL) & OHCI_CTRL_IR) {		wait_time = 500; /* 0.5 seconds */		writel(OHCI_INTR_OC, base + OHCI_INTRENABLE);		writel(OHCI_OCR, base + OHCI_CMDSTATUS);		while (wait_time > 0 &&				readl(base + OHCI_CONTROL) & OHCI_CTRL_IR) {			wait_time -= 10;			msleep(10);		}	}	/*	 * disable interrupts	 */	writel(~(u32)0, base + OHCI_INTRDISABLE);	writel(~(u32)0, base + OHCI_INTRSTATUS);	iounmap(base);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/f2cb36c1df427431a8c6096b4ad113df767c1bd9/pci-quirks.c/buggy/drivers/usb/host/pci-quirks.c