lkml.org 
[lkml]   [2012]   [Sep]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[ 46/85] PCI: EHCI: Fix crash during hibernation on ASUS computers
    Date
    From: Greg KH <gregkh@linuxfoundation.org>

    3.4-stable review patch. If anyone has any objections, please let me know.

    ------------------

    From: "Rafael J. Wysocki" <rjw@sisk.pl>

    commit 0b68c8e2c3afaf9807eb1ebe0ccfb3b809570aa4 upstream.

    Commit dbf0e4c (PCI: EHCI: fix crash during suspend on ASUS
    computers) added a workaround for an ASUS suspend issue related to
    USB EHCI and a bug in a number of ASUS BIOSes that attempt to shut
    down the EHCI controller during system suspend if its PCI command
    register doesn't contain 0 at that time.

    It turns out that the same workaround is necessary in the analogous
    hibernation code path, so add it.

    References: https://bugzilla.kernel.org/show_bug.cgi?id=45811
    Reported-and-tested-by: Oleksij Rempel <bug-track@fisher-privat.net>
    Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/pci/pci-driver.c | 7 +++++++
    1 file changed, 7 insertions(+)

    --- a/drivers/pci/pci-driver.c
    +++ b/drivers/pci/pci-driver.c
    @@ -952,6 +952,13 @@ static int pci_pm_poweroff_noirq(struct
    if (!pci_dev->state_saved && !pci_is_bridge(pci_dev))
    pci_prepare_to_sleep(pci_dev);

    + /*
    + * The reason for doing this here is the same as for the analogous code
    + * in pci_pm_suspend_noirq().
    + */
    + if (pci_dev->class == PCI_CLASS_SERIAL_USB_EHCI)
    + pci_write_config_word(pci_dev, PCI_COMMAND, 0);
    +
    return 0;
    }




    \
     
     \ /
      Last update: 2012-09-13 04:41    [W:4.157 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site