Re: [PATCH] PCI: add NO_D3_DURING_SLEEP flag and revert 151b61284776be2

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

 



On Sat, 23 Jun 2012, Pavel Pisa wrote:

> Hello Alan and all others,
> 
> I have observed similar lock during suspend to RAM on ASUS K52F
> 
> Handle 0x0002, DMI type 2, 15 bytes
> Base Board Information
>         Manufacturer: ASUSTeK Computer Inc.
>         Product Name: K52F
> 
> BIOS Information
>         Vendor: American Megatrends Inc.
>         Version: K52F.218
>         Release Date: 07/12/2011
> 
> 00:00.0 Host bridge [0600]: Intel Corporation Core Processor DRAM Controller [8086:0044] (rev 18)
> 00:02.0 VGA compatible controller [0300]: Intel Corporation Core Processor Integrated Graphics Controller [8086:0046] (rev 18)
> 00:16.0 Communication controller [0780]: Intel Corporation 5 Series/3400 Series Chipset HECI Controller [8086:3b64] (rev 06)
> ...
> 00:1a.0 USB Controller [0c03]: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller [8086:3b3c] (rev 06)
> 00:1d.0 USB Controller [0c03]: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller [8086:3b34] (rev 06)
> 
> When I unbind EHCI controllers
>   # Unbind ehci_hcd for first device 0000:00:1a.0:
>   echo -n "0000:00:1a.0" >/sys/bus/pci/drivers/ehci_hcd/unbind
>   # Unbind ehci_hcd for second device 0000:00:1d.0:
>   echo -n "0000:00:1d.0" >/sys/bus/pci/drivers/ehci_hcd/unbind
> then laptop goes to suspend after
>   echo mem >/sys/power/state  
> and when power button is pressed it restores to functional state.
> It works quite stable repeatedly.
> 
> This is similar to the problem solved by your patch.
> 
> I have tried 3.4.4 with kernel and added quirk
> 
> ---
>  drivers/pci/quirks.c |    2 ++
>  1 file changed, 2 insertions(+)
> 
> Index: linux-3.4/drivers/pci/quirks.c
> ===================================================================
> --- linux-3.4.orig/drivers/pci/quirks.c 2012-06-23 16:37:14.582568585 +0200
> +++ linux-3.4/drivers/pci/quirks.c      2012-06-23 16:38:38.378571372 +0200
> @@ -2942,6 +2942,8 @@
>  }
>  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x1c26, asus_ehci_no_d3);
>  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x1c2d, asus_ehci_no_d3);
> +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x3b3c, asus_ehci_no_d3);
> +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x3b34, asus_ehci_no_d3);
> 
>  static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f,
>                           struct pci_fixup *end)
> 
> This quirk allows laptop suspend and resume correctly when nothing
> is connected to the USB or even when mounted FLASH disk is connected.
> The USB drive works correctly after resume.

Do you want to submit your patch for inclusion in the kernel?  If you 
do, you should follow the instructions in 
Documentation/SubmittingPatches.

Also, you should modify the comment before the asus_ehci_no_d3() 
routine.  Mention the 5 Series/3400 Series chipset in addition to the 6 
Series/C200 Series chipset.

Or if you prefer, I could submit a modified version of your patch.

> DVB tuner is connected
> 
> Bus 002 Device 003: ID 0b48:300d TechnoTrend AG TT-connect CT-3650 CI
> 
> then suspend proceeds correctly but resume locks hard again.
> 
> This seems to be problem in dvb_usb_ttusb2 driver.
> 
> But anyway I think, that adding 0x3b3c and 0x3b34 to the quirk list
> could help more people.

Alan Stern



[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux