--- 1.50/drivers/usb/core/hcd-pci.c Sun Nov 7 05:06:51 2004 +++ edited/drivers/usb/core/hcd-pci.c Wed Nov 10 09:55:10 2004 @@ -407,9 +407,9 @@ hcd->state = USB_STATE_RESUMING; - if (has_pci_pm) - pci_set_power_state (dev, 0); - dev->dev.power.power_state = 0; + pci_enable_device (dev); + pci_restore_state (dev); + pci_set_master (dev); retval = request_irq (dev->irq, usb_hcd_irq, SA_SHIRQ, hcd->description, hcd); if (retval < 0) { @@ -418,7 +418,9 @@ return retval; } hcd->saw_irq = 0; - pci_restore_state (dev); + if (has_pci_pm) + pci_set_power_state (dev, 0); + dev->dev.power.power_state = 0; #ifdef CONFIG_USB_SUSPEND pci_enable_wake (dev, dev->current_state, 0); pci_enable_wake (dev, 4, 0);