On some systems, EHCI seems to be getting IRQs too early during driver setup ... before the root hub is allocated, in particular, making trouble for any code chasing down root hub pointers! In this case, it seems to be safe to just ignore the root hub setting. Thanks to Rafael J. Wysocki for getting this properly tested. Signed-off-by: David Brownell --- g26.orig/drivers/usb/host/ehci-hcd.c 2005-12-22 16:48:57.000000000 -0800 +++ g26/drivers/usb/host/ehci-hcd.c 2005-12-22 16:57:52.000000000 -0800 @@ -617,7 +617,7 @@ static irqreturn_t ehci_irq (struct usb_ } /* remote wakeup [4.3.1] */ - if ((status & STS_PCD) && device_may_wakeup(&hcd->self.root_hub->dev)) { + if (status & STS_PCD) { unsigned i = HCS_N_PORTS (ehci->hcs_params); /* resume root hub? */