Re: [linux-pm] ehci_hcd related S3 lockup on ASUS laptops, again

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


On Wed, Apr 18, 2012 at 12:41:10PM -0400, Alan Stern wrote:
> Here's the situation.  When the script unbinds ehci-hcd, 
> pci_device_remove() sets the current state to PCI_UNKNOWN.  The patch 
> to hcd-pci.c does the same thing before the suspend_noirq phase begins, 
> i.e., before pci_prepare_to_sleep() is called.
> 
> In pci_raw_set_power_state(), there's a "switch" statement that depends
> on dev->current_state.  If the current state is PCI_D0 then the new
> state in pmcsr is set to PCI_D3; if the current state is PCI_UNKNOWN
> then the state in pmcsr is left unchanged.  After that, the value in
> pmcsr is written to the controller.
> 
> This means that when ehci-hcd is unbound or the patch is installed, the
> controller stays in D0.  That's why we see those "Refused to change
> power state" messages, since D0 is not what the target state was
> supposed to be.  When ehci-hcd remains bound and the patch isn't
> installed, the controller is put into D3.
> 
> And then finally, the computer crashes during the final stage of 
> suspend if either controller is in D3.  Clearly this is a bug in the 
> firmware, not in the kernel.
> 
> Have you guys checked to see if any BIOS updates are available?
I've just updated to 219 and it still hangs.

-- 
WBR, wRAR

Attachment: signature.asc
Description: Digital signature


B and H Foto and Electronics Corp.

[Linux Media]     [Video for Linux]     [Linux Input]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Free Online Dating]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]     [More Archives]

Add to Google Powered by Linux