uhci->resume_detect = 1; 
usb_hcd_poll_rh_status(hcd); 
static irqreturn_t uhci_irq(struct usb_hcd *hcd, struct pt_regs *regs){	struct uhci_hcd *uhci = hcd_to_uhci(hcd);	unsigned short status;	unsigned long flags;	/*	 * Read the interrupt status, and write it back to clear the	 * interrupt cause.  Contrary to the UHCI specification, the	 * "HC Halted" status bit is persistent: it is RO, not R/WC.	 */	status = inw(uhci->io_addr + USBSTS);	if (!(status & ~USBSTS_HCH))	/* shared interrupt, not mine */		return IRQ_NONE;	outw(status, uhci->io_addr + USBSTS);		/* Clear it */	if (status & ~(USBSTS_USBINT | USBSTS_ERROR | USBSTS_RD)) {		if (status & USBSTS_HSE)			dev_err(uhci_dev(uhci), "host system error, "					"PCI problems?\n");		if (status & USBSTS_HCPE)			dev_err(uhci_dev(uhci), "host controller process "					"error, something bad happened!\n");		if (status & USBSTS_HCH) {			spin_lock_irqsave(&uhci->lock, flags);			if (uhci->rh_state >= UHCI_RH_RUNNING) {				dev_err(uhci_dev(uhci),					"host controller halted, "					"very bad!\n");				hc_died(uhci);				spin_unlock_irqrestore(&uhci->lock, flags);				return IRQ_HANDLED;			}			spin_unlock_irqrestore(&uhci->lock, flags);		}	}	if (status & USBSTS_RD)		uhci->resume_detect = 1;	spin_lock_irqsave(&uhci->lock, flags);	uhci_scan_schedule(uhci, regs);	spin_unlock_irqrestore(&uhci->lock, flags);	return IRQ_HANDLED;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/6c1b445c226dd82d0961725dec8051b95003723a/uhci-hcd.c/buggy/drivers/usb/host/uhci-hcd.c