On Thu, Apr 12, 2012 at 04:02:26PM -0400, Alan Stern wrote: > Asumming you get the same result as Andrey, that the computer still > hangs even with the ehci_reset() call, there's one more thing for the > two of you to try. > > I noted before that with ehci-hcd bound, it would call > pci_disable_device. But with the driver unbound, the PCI core calls > pci_disable_enabled_device instead. > > So let's have the driver do the same thing. At the end of > drivers/usb/core/hcd-pci.c:suspend_common, change pci_disable_device to > pci_disable_enabled_device. You'll also have to EXPORT that routine; > it's defined in drivers/pci/pci.c. > > Do this with the ehci_reset added and all the other changes present as > well. Then there should be no difference at all between the two > scenarios. With - pci_prepare_to_sleep in pci_pm_suspend_noirq - pci_disable_enabled_device instead of pci_disable_device in suspend_common - ehci_reset at the end of ehci_pci_suspend it still locks up. -- WBR, wRAR
Attachment:
signature.asc
Description: Digital signature