linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* xhci: Switch Intel Lynx Point ports to EHCI on shutdown
@ 2013-12-19 16:29 Denis Turischev
  2013-12-19 16:38 ` Greg KH
                   ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: Denis Turischev @ 2013-12-19 16:29 UTC (permalink / raw)
  To: Sarah Sharp; +Cc: linux-kernel, linux-usb

The same issue like with Panther Point chipsets. If the USB ports are
switched to xHCI on shutdown, the xHCI host will send a spurious interrupt,
which will wake the system. Some BIOS have work around for this, but not all.

The bug can be avoided if the USB ports are switched back to EHCI on
shutdown.

Signed-off-by: Denis Turischev <denis@compulab.co.il>

diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
--- a/drivers/usb/host/xhci-pci.c	2013-12-19 11:36:12.049589400 +0200
+++ b/drivers/usb/host/xhci-pci.c	2013-12-19 11:37:27.261590385 +0200
@@ -91,8 +91,9 @@
 		xhci->quirks |= XHCI_LPM_SUPPORT;
 		xhci->quirks |= XHCI_INTEL_HOST;
 	}
-	if (pdev->vendor == PCI_VENDOR_ID_INTEL &&
-			pdev->device == PCI_DEVICE_ID_INTEL_PANTHERPOINT_XHCI) {
+	if (pdev->vendor == PCI_VENDOR_ID_INTEL && (
+			(pdev->device == PCI_DEVICE_ID_INTEL_PANTHERPOINT_XHCI) ||
+			(pdev->device == PCI_DEVICE_ID_INTEL_LYNXPOINT_XHCI))) {
 		xhci->quirks |= XHCI_EP_LIMIT_QUIRK;
 		xhci->limit_active_eps = 64;
 		xhci->quirks |= XHCI_SW_BW_CHECKING;
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
--- a/include/linux/pci_ids.h	2013-12-19 11:36:11.945589398 +0200
+++ b/include/linux/pci_ids.h	2013-12-19 11:35:57.817589213 +0200
@@ -2576,6 +2576,7 @@
 #define PCI_DEVICE_ID_INTEL_COUGARPOINT_LPC_MAX	0x1c5f
 #define PCI_DEVICE_ID_INTEL_PATSBURG_LPC_0	0x1d40
 #define PCI_DEVICE_ID_INTEL_PATSBURG_LPC_1	0x1d41
+#define PCI_DEVICE_ID_INTEL_LYNXPOINT_XHCI	0x9c31
 #define PCI_DEVICE_ID_INTEL_PANTHERPOINT_XHCI	0x1e31
 #define PCI_DEVICE_ID_INTEL_PANTHERPOINT_LPC_MIN	0x1e40
 #define PCI_DEVICE_ID_INTEL_PANTHERPOINT_LPC_MAX	0x1e5f

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: xhci: Switch Intel Lynx Point ports to EHCI on shutdown
  2013-12-19 16:29 xhci: Switch Intel Lynx Point ports to EHCI on shutdown Denis Turischev
@ 2013-12-19 16:38 ` Greg KH
  2013-12-19 17:07 ` [PATCH v1] " Denis Turischev
  2014-02-04 11:10 ` [PATCH] " Denis Turischev
  2 siblings, 0 replies; 19+ messages in thread
From: Greg KH @ 2013-12-19 16:38 UTC (permalink / raw)
  To: Denis Turischev; +Cc: Sarah Sharp, linux-kernel, linux-usb

On Thu, Dec 19, 2013 at 06:29:14PM +0200, Denis Turischev wrote:
> The same issue like with Panther Point chipsets. If the USB ports are
> switched to xHCI on shutdown, the xHCI host will send a spurious interrupt,
> which will wake the system. Some BIOS have work around for this, but not all.
> 
> The bug can be avoided if the USB ports are switched back to EHCI on
> shutdown.
> 
> Signed-off-by: Denis Turischev <denis@compulab.co.il>
> 
> diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
> --- a/drivers/usb/host/xhci-pci.c	2013-12-19 11:36:12.049589400 +0200
> +++ b/drivers/usb/host/xhci-pci.c	2013-12-19 11:37:27.261590385 +0200
> @@ -91,8 +91,9 @@
>  		xhci->quirks |= XHCI_LPM_SUPPORT;
>  		xhci->quirks |= XHCI_INTEL_HOST;
>  	}
> -	if (pdev->vendor == PCI_VENDOR_ID_INTEL &&
> -			pdev->device == PCI_DEVICE_ID_INTEL_PANTHERPOINT_XHCI) {
> +	if (pdev->vendor == PCI_VENDOR_ID_INTEL && (
> +			(pdev->device == PCI_DEVICE_ID_INTEL_PANTHERPOINT_XHCI) ||
> +			(pdev->device == PCI_DEVICE_ID_INTEL_LYNXPOINT_XHCI))) {
>  		xhci->quirks |= XHCI_EP_LIMIT_QUIRK;
>  		xhci->limit_active_eps = 64;
>  		xhci->quirks |= XHCI_SW_BW_CHECKING;
> diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
> --- a/include/linux/pci_ids.h	2013-12-19 11:36:11.945589398 +0200
> +++ b/include/linux/pci_ids.h	2013-12-19 11:35:57.817589213 +0200
> @@ -2576,6 +2576,7 @@
>  #define PCI_DEVICE_ID_INTEL_COUGARPOINT_LPC_MAX	0x1c5f
>  #define PCI_DEVICE_ID_INTEL_PATSBURG_LPC_0	0x1d40
>  #define PCI_DEVICE_ID_INTEL_PATSBURG_LPC_1	0x1d41
> +#define PCI_DEVICE_ID_INTEL_LYNXPOINT_XHCI	0x9c31

Please read the top of this file for why to not add new device ids to
it.

And if you really need to do so, please do it in sorted order:

>  #define PCI_DEVICE_ID_INTEL_PANTHERPOINT_XHCI	0x1e31
>  #define PCI_DEVICE_ID_INTEL_PANTHERPOINT_LPC_MIN	0x1e40
>  #define PCI_DEVICE_ID_INTEL_PANTHERPOINT_LPC_MAX	0x1e5f

Which you didn't do :(

greg k-h

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH v1] xhci: Switch Intel Lynx Point ports to EHCI on shutdown
  2013-12-19 16:29 xhci: Switch Intel Lynx Point ports to EHCI on shutdown Denis Turischev
  2013-12-19 16:38 ` Greg KH
@ 2013-12-19 17:07 ` Denis Turischev
  2013-12-19 18:21   ` Sarah Sharp
  2014-02-04 11:10 ` [PATCH] " Denis Turischev
  2 siblings, 1 reply; 19+ messages in thread
From: Denis Turischev @ 2013-12-19 17:07 UTC (permalink / raw)
  To: Sarah Sharp; +Cc: linux-kernel, linux-usb

The same issue like with Panther Point chipsets. If the USB ports are
switched to xHCI on shutdown, the xHCI host will send a spurious interrupt,
which will wake the system. Some BIOS have work around for this, but not all.

The bug can be avoided if the USB ports are switched back to EHCI on
shutdown.

v1: add new device id locally, not in <linux/pci_ids.h>

Signed-off-by: Denis Turischev <denis@compulab.co.il>

diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
--- a/drivers/usb/host/xhci-pci.c	2013-12-19 11:36:12.049589400 +0200
+++ b/drivers/usb/host/xhci-pci.c	2013-12-19 11:37:27.261590385 +0200
@@ -34,6 +34,8 @@
 #define PCI_VENDOR_ID_ETRON		0x1b6f
 #define PCI_DEVICE_ID_ASROCK_P67	0x7023

+#define PCI_DEVICE_ID_INTEL_LYNXPOINT_XHCI	0x9c31
+
 static const char hcd_name[] = "xhci_hcd";

 /* called after powerup, by probe or system-pm "wakeup" */
@@ -91,8 +93,9 @@
 		xhci->quirks |= XHCI_LPM_SUPPORT;
 		xhci->quirks |= XHCI_INTEL_HOST;
 	}
-	if (pdev->vendor == PCI_VENDOR_ID_INTEL &&
-			pdev->device == PCI_DEVICE_ID_INTEL_PANTHERPOINT_XHCI) {
+	if (pdev->vendor == PCI_VENDOR_ID_INTEL && (
+			(pdev->device == PCI_DEVICE_ID_INTEL_PANTHERPOINT_XHCI) ||
+			(pdev->device == PCI_DEVICE_ID_INTEL_LYNXPOINT_XHCI))) {
 		xhci->quirks |= XHCI_EP_LIMIT_QUIRK;
 		xhci->limit_active_eps = 64;
 		xhci->quirks |= XHCI_SW_BW_CHECKING;

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1] xhci: Switch Intel Lynx Point ports to EHCI on shutdown
  2013-12-19 17:07 ` [PATCH v1] " Denis Turischev
@ 2013-12-19 18:21   ` Sarah Sharp
  2013-12-20 10:41     ` Denis Turischev
  0 siblings, 1 reply; 19+ messages in thread
From: Sarah Sharp @ 2013-12-19 18:21 UTC (permalink / raw)
  To: Denis Turischev; +Cc: linux-kernel, linux-usb

This is actually v2.

On Thu, Dec 19, 2013 at 07:07:33PM +0200, Denis Turischev wrote:
> The same issue like with Panther Point chipsets. If the USB ports are
> switched to xHCI on shutdown, the xHCI host will send a spurious interrupt,
> which will wake the system. Some BIOS have work around for this, but not all.
> 
> The bug can be avoided if the USB ports are switched back to EHCI on
> shutdown.
> 
> v1: add new device id locally, not in <linux/pci_ids.h>

This line shouldn't go in the patch description.

> Signed-off-by: Denis Turischev <denis@compulab.co.il>

Instead, it should go after the --- line, which should be here, but
isn't.  How did you generate this patch?  `git format-patch` is
recommended, or `git send-email`.

Also, which kernel are you experiencing this issue on?  In 3.12, I
queued a separate patch to deal with spurious reboot issues on Lynx
Point:

commit 638298dc66ea36623dbc2757a24fc2c4ab41b016
Author: Takashi Iwai <tiwai@suse.de>
Date:   Thu Sep 12 08:11:06 2013 +0200

    xhci: Fix spurious wakeups after S5 on Haswell
    
    Haswell LynxPoint and LynxPoint-LP with the recent Intel BIOS show
    mysterious wakeups after shutdown occasionally.  After discussing with
    BIOS engineers, they explained that the new BIOS expects that the
    wakeup sources are cleared and set to D3 for all wakeup devices when
    the system is going to sleep or power off, but the current xhci driver
    doesn't do this properly (partly intentionally).
    
    This patch introduces a new quirk, XHCI_SPURIOUS_WAKEUP, for
    fixing the spurious wakeups at S5 by calling xhci_reset() in the xhci
    shutdown ops as done in xhci_stop(), and setting the device to PCI D3
    at shutdown and remove ops.
    
    The PCI D3 call is based on the initial fix patch by Oliver Neukum.
    
    [Note: Sarah changed the quirk name from XHCI_HSW_SPURIOUS_WAKEUP to
    XHCI_SPURIOUS_WAKEUP, since none of the other quirks have system names
    in them.  Sarah also fixed a collision with a quirk submitted around the
    same time, by changing the xhci->quirks bit from 17 to 18.]
    
    This patch should be backported to kernels as old as 3.0, that
    contain the commit 1c12443ab8eba71a658fae4572147e56d1f84f66 "xhci: Add
    Lynx Point to list of Intel switchable hosts."
    
    Cc: Oliver Neukum <oneukum@suse.de>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Cc: stable@vger.kernel.org

This patch is in 3.12, but a patch to narrow the quirk to only apply HP systems
will hit 3.13 shortly:

commit 6962d914f317b119e0db7189199b21ec77a4b3e0
Author: Takashi Iwai <tiwai@suse.de>
Date:   Mon Dec 9 14:53:36 2013 +0100

    xhci: Limit the spurious wakeup fix only to HP machines
    
    We've got regression reports that my previous fix for spurious wakeups
    after S5 on HP Haswell machines leads to the automatic reboot at
    shutdown on some machines.  It turned out that the fix for one side
    triggers another BIOS bug in other side.  So, it's exclusive.
    
    Since the original S5 wakeups have been confirmed only on HP machines,
    it'd be safer to apply it only to limited machines.  As a wild guess,
    limiting to machines with HP PCI SSID should suffice.
    
    This patch should be backported to kernels as old as 3.12, that
    contain the commit 638298dc66ea36623dbc2757a24fc2c4ab41b016 "xhci: Fix
    spurious wakeups after S5 on Haswell".
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=66171
    Cc: stable@vger.kernel.org
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Tested-by: <dashing.meng@gmail.com>
    Reported-by: Niklas Schnelle <niklas@komani.de>
    Reported-by: Giorgos <ganastasiouGR@gmail.com>
    Reported-by: <art1@vhex.net>

So, do you experience the spurious reboots on 3.11?  Do they go away in
3.12 with the first patch applied?

Sarah Sharp

> 
> diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
> --- a/drivers/usb/host/xhci-pci.c	2013-12-19 11:36:12.049589400 +0200
> +++ b/drivers/usb/host/xhci-pci.c	2013-12-19 11:37:27.261590385 +0200
> @@ -34,6 +34,8 @@
>  #define PCI_VENDOR_ID_ETRON		0x1b6f
>  #define PCI_DEVICE_ID_ASROCK_P67	0x7023
> 
> +#define PCI_DEVICE_ID_INTEL_LYNXPOINT_XHCI	0x9c31
> +
>  static const char hcd_name[] = "xhci_hcd";
> 
>  /* called after powerup, by probe or system-pm "wakeup" */
> @@ -91,8 +93,9 @@
>  		xhci->quirks |= XHCI_LPM_SUPPORT;
>  		xhci->quirks |= XHCI_INTEL_HOST;
>  	}
> -	if (pdev->vendor == PCI_VENDOR_ID_INTEL &&
> -			pdev->device == PCI_DEVICE_ID_INTEL_PANTHERPOINT_XHCI) {
> +	if (pdev->vendor == PCI_VENDOR_ID_INTEL && (
> +			(pdev->device == PCI_DEVICE_ID_INTEL_PANTHERPOINT_XHCI) ||
> +			(pdev->device == PCI_DEVICE_ID_INTEL_LYNXPOINT_XHCI))) {
>  		xhci->quirks |= XHCI_EP_LIMIT_QUIRK;
>  		xhci->limit_active_eps = 64;
>  		xhci->quirks |= XHCI_SW_BW_CHECKING;

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1] xhci: Switch Intel Lynx Point ports to EHCI on shutdown
  2013-12-19 18:21   ` Sarah Sharp
@ 2013-12-20 10:41     ` Denis Turischev
  2013-12-20 23:45       ` Sarah Sharp
  0 siblings, 1 reply; 19+ messages in thread
From: Denis Turischev @ 2013-12-20 10:41 UTC (permalink / raw)
  To: Sarah Sharp; +Cc: linux-kernel, linux-usb

> Also, which kernel are you experiencing this issue on?  In 3.12, I
> queued a separate patch to deal with spurious reboot issues on Lynx
> Point:
> 
> commit 638298dc66ea36623dbc2757a24fc2c4ab41b016
> Author: Takashi Iwai <tiwai@suse.de>
> Date:   Thu Sep 12 08:11:06 2013 +0200
> 
>     xhci: Fix spurious wakeups after S5 on Haswell
>     
>     Haswell LynxPoint and LynxPoint-LP with the recent Intel BIOS show
>     mysterious wakeups after shutdown occasionally.  After discussing with
>     BIOS engineers, they explained that the new BIOS expects that the
>     wakeup sources are cleared and set to D3 for all wakeup devices when
>     the system is going to sleep or power off, but the current xhci driver
>     doesn't do this properly (partly intentionally).
>     
>     This patch introduces a new quirk, XHCI_SPURIOUS_WAKEUP, for
>     fixing the spurious wakeups at S5 by calling xhci_reset() in the xhci
>     shutdown ops as done in xhci_stop(), and setting the device to PCI D3
>     at shutdown and remove ops.
>     
>     The PCI D3 call is based on the initial fix patch by Oliver Neukum.
>     
>     [Note: Sarah changed the quirk name from XHCI_HSW_SPURIOUS_WAKEUP to
>     XHCI_SPURIOUS_WAKEUP, since none of the other quirks have system names
>     in them.  Sarah also fixed a collision with a quirk submitted around the
>     same time, by changing the xhci->quirks bit from 17 to 18.]
>     
>     This patch should be backported to kernels as old as 3.0, that
>     contain the commit 1c12443ab8eba71a658fae4572147e56d1f84f66 "xhci: Add
>     Lynx Point to list of Intel switchable hosts."
>     
>     Cc: Oliver Neukum <oneukum@suse.de>
>     Signed-off-by: Takashi Iwai <tiwai@suse.de>
>     Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
>     Cc: stable@vger.kernel.org
> 
> This patch is in 3.12, but a patch to narrow the quirk to only apply HP systems
> will hit 3.13 shortly:

Sorry, I indeed tested not on the latest kernel version, Ubuntu 3.13-rc3 has this patch and it works
for me.

Denis


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1] xhci: Switch Intel Lynx Point ports to EHCI on shutdown
  2013-12-20 10:41     ` Denis Turischev
@ 2013-12-20 23:45       ` Sarah Sharp
  2013-12-21 16:45         ` Holger Freyther
  2013-12-22  7:47         ` Denis Turischev
  0 siblings, 2 replies; 19+ messages in thread
From: Sarah Sharp @ 2013-12-20 23:45 UTC (permalink / raw)
  To: Denis Turischev; +Cc: linux-kernel, linux-usb

On Fri, Dec 20, 2013 at 12:41:11PM +0200, Denis Turischev wrote:
> > Also, which kernel are you experiencing this issue on?  In 3.12, I
> > queued a separate patch to deal with spurious reboot issues on Lynx
> > Point:
> > 
> > commit 638298dc66ea36623dbc2757a24fc2c4ab41b016
> Sorry, I indeed tested not on the latest kernel version, Ubuntu 3.13-rc3 has this patch and it works
> for me.

What does "Ubuntu 3.13-rc3" mean?  Where did you get your kernel from?

Also, do you have an HP system, or is this a different vendor?

Sarah Sharp

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1] xhci: Switch Intel Lynx Point ports to EHCI on shutdown
  2013-12-20 23:45       ` Sarah Sharp
@ 2013-12-21 16:45         ` Holger Freyther
  2013-12-22  7:47         ` Denis Turischev
  1 sibling, 0 replies; 19+ messages in thread
From: Holger Freyther @ 2013-12-21 16:45 UTC (permalink / raw)
  To: linux-kernel

Sarah Sharp <sarah.a.sharp <at> linux.intel.com> writes:

Good Afternoon,


> Also, do you have an HP system, or is this a different vendor?

for what its worth. I do have an Ivybridge laptop and I do see
immediate wake-ups from suspend to ram from time to time. When
this happens I do modprobe -r xhci_hcd and the machine goes to
sleep as expected. This is on an Acer Aspire S5.

holger 


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1] xhci: Switch Intel Lynx Point ports to EHCI on shutdown
  2013-12-20 23:45       ` Sarah Sharp
  2013-12-21 16:45         ` Holger Freyther
@ 2013-12-22  7:47         ` Denis Turischev
  2014-01-03  0:03           ` Sarah Sharp
  1 sibling, 1 reply; 19+ messages in thread
From: Denis Turischev @ 2013-12-22  7:47 UTC (permalink / raw)
  To: Sarah Sharp; +Cc: linux-kernel, linux-usb

On 12/21/2013 01:45 AM, Sarah Sharp wrote:
> On Fri, Dec 20, 2013 at 12:41:11PM +0200, Denis Turischev wrote:
>>> Also, which kernel are you experiencing this issue on?  In 3.12, I
>>> queued a separate patch to deal with spurious reboot issues on Lynx
>>> Point:
>>>
>>> commit 638298dc66ea36623dbc2757a24fc2c4ab41b016
>> Sorry, I indeed tested not on the latest kernel version, Ubuntu 3.13-rc3 has this patch and it works
>> for me.
> 
> What does "Ubuntu 3.13-rc3" mean?  Where did you get your kernel from?
Latest Ubuntu development kernel based on mainline 3.13-rc3.
http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.13-rc3-trusty/
> 
> Also, do you have an HP system, or is this a different vendor?
No, it's not HP system, it's Compulab's IntensePC-2 with Phoenix BIOS.
> 
> Sarah Sharp
> 


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1] xhci: Switch Intel Lynx Point ports to EHCI on shutdown
  2013-12-22  7:47         ` Denis Turischev
@ 2014-01-03  0:03           ` Sarah Sharp
  2014-01-03  3:40             ` littlebat
                               ` (3 more replies)
  0 siblings, 4 replies; 19+ messages in thread
From: Sarah Sharp @ 2014-01-03  0:03 UTC (permalink / raw)
  To: Denis Turischev
  Cc: linux-kernel, linux-usb, Takashi Iwai, Oliver Neukum,
	dashing.meng, Niklas Schnelle, Giorgos, art1

On Sun, Dec 22, 2013 at 09:47:49AM +0200, Denis Turischev wrote:
> On 12/21/2013 01:45 AM, Sarah Sharp wrote:
> > On Fri, Dec 20, 2013 at 12:41:11PM +0200, Denis Turischev wrote:
> >>> Also, which kernel are you experiencing this issue on?  In 3.12, I
> >>> queued a separate patch to deal with spurious reboot issues on Lynx
> >>> Point:
> >>>
> >>> commit 638298dc66ea36623dbc2757a24fc2c4ab41b016
> >> Sorry, I indeed tested not on the latest kernel version, Ubuntu 3.13-rc3 has this patch and it works
> >> for me.
> > 
> > What does "Ubuntu 3.13-rc3" mean?  Where did you get your kernel from?
> Latest Ubuntu development kernel based on mainline 3.13-rc3.
> http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.13-rc3-trusty/
> > 
> > Also, do you have an HP system, or is this a different vendor?
> No, it's not HP system, it's Compulab's IntensePC-2 with Phoenix BIOS.

Ok, that's a bit of an issue then.  Your system needs the quirk
introduced by commit 638298dc66ea36623dbc2757a24fc2c4ab41b016 "xhci: Fix
spurious wakeups after S5 on Haswell".  That went into 3.12-rc3.
However, in 3.13-rc6, commit 6962d914f317b119e0db7189199b21ec77a4b3e0
"xhci: Limit the spurious wakeup fix only to HP machines" limited the
quirk to only HP systems.

That means your system worked fine in 3.13-rc3 (when the quirk was
applied broadly), but won't work for 3.13-rc6 (when the quirk was
narrowed to HP machines).  So we need the quirk to apply to your systems
as well.

ISTR that the other folks on Cc (Meng, Niklas, Giorgos, and Art) all had
systems that broke when commit 638298dc66ea36623dbc2757a24fc2c4ab41b016
was introduced.  For those systems, what vendor was the system, and what
BIOS was it running?

Takashi, did the HP systems that needed the quirk have a Phoenix BIOS?

Denis, do all of Compulab's Haswell systems reboot on shutdown?  Are
they all running a Phoenix BIOS?  Can you send me the output of `sudo
lspci -vvv -s` for the xHCI host?

Basically, I'm trying to find a common variable to key off.  I suspect
BIOS vendor is probably the right thing, instead of system vendor.

Sarah Sharp

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1] xhci: Switch Intel Lynx Point ports to EHCI on shutdown
  2014-01-03  0:03           ` Sarah Sharp
@ 2014-01-03  3:40             ` littlebat
  2014-01-03 18:14             ` Oliver Neukum
                               ` (2 subsequent siblings)
  3 siblings, 0 replies; 19+ messages in thread
From: littlebat @ 2014-01-03  3:40 UTC (permalink / raw)
  To: Sarah Sharp
  Cc: denis.turischev, linux-kernel, linux-usb, Takashi Iwai,
	Oliver Neukum, dashing.meng, Niklas Schnelle, Giorgos, art1

On Thu, 2 Jan 2014 16:03:34 -0800
Sarah Sharp <sarah.a.sharp@linux.intel.com> wrote:

> On Sun, Dec 22, 2013 at 09:47:49AM +0200, Denis Turischev wrote:
> > On 12/21/2013 01:45 AM, Sarah Sharp wrote:
> > > On Fri, Dec 20, 2013 at 12:41:11PM +0200, Denis Turischev wrote:
> > >>> Also, which kernel are you experiencing this issue on?  In
> > >>> 3.12, I queued a separate patch to deal with spurious reboot
> > >>> issues on Lynx Point:
> > >>>
> > >>> commit 638298dc66ea36623dbc2757a24fc2c4ab41b016
> > >> Sorry, I indeed tested not on the latest kernel version, Ubuntu
> > >> 3.13-rc3 has this patch and it works for me.
> > > 
> > > What does "Ubuntu 3.13-rc3" mean?  Where did you get your kernel
> > > from?
> > Latest Ubuntu development kernel based on mainline 3.13-rc3.
> > http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.13-rc3-trusty/
> > > 
> > > Also, do you have an HP system, or is this a different vendor?
> > No, it's not HP system, it's Compulab's IntensePC-2 with Phoenix
> > BIOS.
> 
> Ok, that's a bit of an issue then.  Your system needs the quirk
> introduced by commit 638298dc66ea36623dbc2757a24fc2c4ab41b016 "xhci:
> Fix spurious wakeups after S5 on Haswell".  That went into 3.12-rc3.
> However, in 3.13-rc6, commit 6962d914f317b119e0db7189199b21ec77a4b3e0
> "xhci: Limit the spurious wakeup fix only to HP machines" limited the
> quirk to only HP systems.
> 
> That means your system worked fine in 3.13-rc3 (when the quirk was
> applied broadly), but won't work for 3.13-rc6 (when the quirk was
> narrowed to HP machines).  So we need the quirk to apply to your
> systems as well.
> 
> ISTR that the other folks on Cc (Meng, Niklas, Giorgos, and Art) all
> had systems that broke when commit
> 638298dc66ea36623dbc2757a24fc2c4ab41b016 was introduced.  For those
> systems, what vendor was the system, and what BIOS was it running?

I'm Meng(littlebat), 
Motherboard vendor:
Manufacturer: ASRock
Product Name: Z87 Pro3

BIOS:

Boot into BIOS setup interface, only show:
ASRock UEFI Setup Utility
UIFI Version: Z87 Pro3 P2.20
Chipset Version: C2

Information below gotten from command: sudo dmidecode
# dmidecode 2.12
SMBIOS 2.7 present.
26 structures occupying 1467 bytes.
Table at 0x000EE880.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
	Vendor: American Megatrends Inc.
	Version: P2.20
	Release Date: 07/03/2013
	Address: 0xF0000
	Runtime Size: 64 kB
	ROM Size: 8192 kB
	Characteristics:
		PCI is supported
		BIOS is upgradeable
		BIOS shadowing is allowed
		Boot from CD is supported
		Selectable boot is supported
		BIOS ROM is socketed
		EDD is supported
		5.25"/1.2 MB floppy services are supported (int 13h)
		3.5"/720 kB floppy services are supported (int 13h)
		3.5"/2.88 MB floppy services are supported (int 13h)
		Print screen service is supported (int 5h)
		8042 keyboard services are supported (int 9h)
		Serial services are supported (int 14h)
		Printer services are supported (int 17h)
		ACPI is supported
		USB legacy is supported
		BIOS boot specification is supported
		Targeted content distribution is supported
		UEFI is supported
	BIOS Revision: 4.6

The original bug report of mine is:
https://bugzilla.kernel.org/show_bug.cgi?id=66551

and the bug disappeared when applied patch: commit
6962d914f317b119e0db7189199b21ec77a4b3e0 "xhci: Limit the spurious
wakeup fix only to HP machines"

> 
> Takashi, did the HP systems that needed the quirk have a Phoenix BIOS?
> 
> Denis, do all of Compulab's Haswell systems reboot on shutdown?  Are
> they all running a Phoenix BIOS?  Can you send me the output of `sudo
> lspci -vvv -s` for the xHCI host?
> 
> Basically, I'm trying to find a common variable to key off.  I suspect
> BIOS vendor is probably the right thing, instead of system vendor.
> 
> Sarah Sharp

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1] xhci: Switch Intel Lynx Point ports to EHCI on shutdown
  2014-01-03  0:03           ` Sarah Sharp
  2014-01-03  3:40             ` littlebat
@ 2014-01-03 18:14             ` Oliver Neukum
  2014-01-03 19:34             ` art1
  2014-01-06 12:34             ` Denis Turischev
  3 siblings, 0 replies; 19+ messages in thread
From: Oliver Neukum @ 2014-01-03 18:14 UTC (permalink / raw)
  To: Sarah Sharp
  Cc: Denis Turischev, linux-kernel, linux-usb, Takashi Iwai,
	dashing.meng, Niklas Schnelle, Giorgos, art1

On Thu, 2014-01-02 at 16:03 -0800, Sarah Sharp wrote:
> That means your system worked fine in 3.13-rc3 (when the quirk was
> applied broadly), but won't work for 3.13-rc6 (when the quirk was
> narrowed to HP machines).  So we need the quirk to apply to your
> systems
> as well.
> 
> ISTR that the other folks on Cc (Meng, Niklas, Giorgos, and Art) all
> had
> systems that broke when commit
> 638298dc66ea36623dbc2757a24fc2c4ab41b016
> was introduced.  For those systems, what vendor was the system, and
> what
> BIOS was it running?
> 
> Takashi, did the HP systems that needed the quirk have a Phoenix BIOS?
> 
> Denis, do all of Compulab's Haswell systems reboot on shutdown?  Are
> they all running a Phoenix BIOS?  Can you send me the output of `sudo
> lspci -vvv -s` for the xHCI host?
> 
> Basically, I'm trying to find a common variable to key off.  I suspect
> BIOS vendor is probably the right thing, instead of system vendor.

The BIOS vendor on HP systems is "Hewlett-Packard"
I guess the hope for a single common denominator is futile.
It'll have to be a list.

	Regards
		Oliver



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1] xhci: Switch Intel Lynx Point ports to EHCI on shutdown
  2014-01-03  0:03           ` Sarah Sharp
  2014-01-03  3:40             ` littlebat
  2014-01-03 18:14             ` Oliver Neukum
@ 2014-01-03 19:34             ` art1
  2014-01-06 12:34             ` Denis Turischev
  3 siblings, 0 replies; 19+ messages in thread
From: art1 @ 2014-01-03 19:34 UTC (permalink / raw)
  To: Sarah Sharp, Denis Turischev
  Cc: linux-kernel, linux-usb, Takashi Iwai, Oliver Neukum,
	dashing.meng, Niklas Schnelle, Giorgos

On 01/03/2014 01:03 AM, Sarah Sharp wrote:
> ISTR that the other folks on Cc (Meng, Niklas, Giorgos, and Art) all 
> had systems that broke when commit 
> 638298dc66ea36623dbc2757a24fc2c4ab41b016 was introduced. For those 
> systems, what vendor was the system, and what BIOS was it running?
Information from dmidecode:

BIOS Information
         Vendor: American Megatrends Inc.

System Information
         Manufacturer: To Be Filled By O.E.M.
         Product Name: To Be Filled By O.E.M.
         Version: To Be Filled By O.E.M.

Base Board Information
         Manufacturer: ASRock
         Product Name: B85 Pro4


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1] xhci: Switch Intel Lynx Point ports to EHCI on shutdown
  2014-01-03  0:03           ` Sarah Sharp
                               ` (2 preceding siblings ...)
  2014-01-03 19:34             ` art1
@ 2014-01-06 12:34             ` Denis Turischev
  2014-01-07 10:03               ` Takashi Iwai
  3 siblings, 1 reply; 19+ messages in thread
From: Denis Turischev @ 2014-01-06 12:34 UTC (permalink / raw)
  To: Sarah Sharp
  Cc: linux-kernel, linux-usb, Takashi Iwai, Oliver Neukum,
	dashing.meng, Niklas Schnelle, Giorgos, art1

Hi Sarah,

On 01/03/2014 02:03 AM, Sarah Sharp wrote:
> Denis, do all of Compulab's Haswell systems reboot on shutdown?  Are
> they all running a Phoenix BIOS?  Can you send me the output of `sudo
> lspci -vvv -s` for the xHCI host?

oem@oem-Intense-PC2 ~ $ sudo lspci -vvv -s 00:14.0
00:14.0 USB controller: Intel Corporation Lynx Point-LP USB xHCI HC (rev 04) (prog-if 30 [XHCI])
	Subsystem: Intel Corporation Device 7270
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 59
	Region 0: Memory at f0620000 (64-bit, non-prefetchable) [size=64K]
	Capabilities: [70] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [80] MSI: Enable+ Count=1/8 Maskable- 64bit+
		Address: 00000000fee0200c  Data: 41b1
	Kernel driver in use: xhci_hcd

> Basically, I'm trying to find a common variable to key off.  I suspect
> BIOS vendor is probably the right thing, instead of system vendor.

By the way the quirk introduced by commit e95829f474f0db3a4d940cae1423783edd966027 "xhci: Switch PPT
ports to EHCI on shutdown." works for Lynx Point as well at least on Intense-PC2. I mean we can add
XHCI_SPURIOUS_REBOOT flag that invokes usb_disable_xhci_ports().

May be this solution works for HP and other systems without side effects?

Denis

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1] xhci: Switch Intel Lynx Point ports to EHCI on shutdown
  2014-01-06 12:34             ` Denis Turischev
@ 2014-01-07 10:03               ` Takashi Iwai
  2014-01-07 23:11                 ` Sarah Sharp
  0 siblings, 1 reply; 19+ messages in thread
From: Takashi Iwai @ 2014-01-07 10:03 UTC (permalink / raw)
  To: Denis Turischev
  Cc: Sarah Sharp, linux-kernel, linux-usb, Oliver Neukum,
	dashing.meng, Niklas Schnelle, Giorgos, art1

At Mon, 06 Jan 2014 14:34:28 +0200,
Denis Turischev wrote:
> 
> Hi Sarah,
> 
> On 01/03/2014 02:03 AM, Sarah Sharp wrote:
> > Denis, do all of Compulab's Haswell systems reboot on shutdown?  Are
> > they all running a Phoenix BIOS?  Can you send me the output of `sudo
> > lspci -vvv -s` for the xHCI host?
> 
> oem@oem-Intense-PC2 ~ $ sudo lspci -vvv -s 00:14.0
> 00:14.0 USB controller: Intel Corporation Lynx Point-LP USB xHCI HC (rev 04) (prog-if 30 [XHCI])
> 	Subsystem: Intel Corporation Device 7270
> 	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
> 	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> 	Latency: 0
> 	Interrupt: pin A routed to IRQ 59
> 	Region 0: Memory at f0620000 (64-bit, non-prefetchable) [size=64K]
> 	Capabilities: [70] Power Management version 2
> 		Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
> 		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
> 	Capabilities: [80] MSI: Enable+ Count=1/8 Maskable- 64bit+
> 		Address: 00000000fee0200c  Data: 41b1
> 	Kernel driver in use: xhci_hcd
> 
> > Basically, I'm trying to find a common variable to key off.  I suspect
> > BIOS vendor is probably the right thing, instead of system vendor.
> 
> By the way the quirk introduced by commit e95829f474f0db3a4d940cae1423783edd966027 "xhci: Switch PPT
> ports to EHCI on shutdown." works for Lynx Point as well at least on Intense-PC2. I mean we can add
> XHCI_SPURIOUS_REBOOT flag that invokes usb_disable_xhci_ports().
> 
> May be this solution works for HP and other systems without side effects?

No, we already tested it at first, but didn't fix the behavior on HP
machines.  It was harmless as far as we've tested, though.


Takashi

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1] xhci: Switch Intel Lynx Point ports to EHCI on shutdown
  2014-01-07 10:03               ` Takashi Iwai
@ 2014-01-07 23:11                 ` Sarah Sharp
  2014-01-08 12:57                   ` Denis Turischev
  0 siblings, 1 reply; 19+ messages in thread
From: Sarah Sharp @ 2014-01-07 23:11 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: Denis Turischev, linux-kernel, linux-usb, Oliver Neukum,
	dashing.meng, Niklas Schnelle, Giorgos, art1

On Tue, Jan 07, 2014 at 11:03:00AM +0100, Takashi Iwai wrote:
> At Mon, 06 Jan 2014 14:34:28 +0200,
> Denis Turischev wrote:
> > 
> > Hi Sarah,
> > 
> > On 01/03/2014 02:03 AM, Sarah Sharp wrote:
> > > Denis, do all of Compulab's Haswell systems reboot on shutdown?  Are
> > > they all running a Phoenix BIOS?  Can you send me the output of `sudo
> > > lspci -vvv -s` for the xHCI host?
> > 
> > oem@oem-Intense-PC2 ~ $ sudo lspci -vvv -s 00:14.0
> > 00:14.0 USB controller: Intel Corporation Lynx Point-LP USB xHCI HC (rev 04) (prog-if 30 [XHCI])
> > 	Subsystem: Intel Corporation Device 7270
> > 	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
> > 	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> > 	Latency: 0
> > 	Interrupt: pin A routed to IRQ 59
> > 	Region 0: Memory at f0620000 (64-bit, non-prefetchable) [size=64K]
> > 	Capabilities: [70] Power Management version 2
> > 		Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
> > 		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
> > 	Capabilities: [80] MSI: Enable+ Count=1/8 Maskable- 64bit+
> > 		Address: 00000000fee0200c  Data: 41b1
> > 	Kernel driver in use: xhci_hcd
> > 
> > > Basically, I'm trying to find a common variable to key off.  I suspect
> > > BIOS vendor is probably the right thing, instead of system vendor.

Hmm, since Compulab isn't the subsystem vendor, we can't enable the same
HP quirk using that piece of information.  We can't enable the quirk to
put the host into D3 for all Lynx Point-LP hosts, since that quirk
breaks other vendors' systems.  Does this impact any Lynx Point (non-LP)
systems as well?

So far, two of the other systems that don't react well to the quirk are
both ASRock systems with American Megatrends BIOSes, based on info
provided by Art and Meng.  I can see from Giorgos' posted lspci that his
xHCI also lists ASRock as the Subsystem vendor, although I don't know
what the BIOS manufacturer is.

Niklas's xHCI subsystem VID:PID is 1558:7410, which is CLEVO/KAPOK
Computer Device.  Looks like Clevo is a laptop manufacturer.

Giorgos and Niklas, can you post output from `sudo dmidecode` please?

> > By the way the quirk introduced by commit e95829f474f0db3a4d940cae1423783edd966027 "xhci: Switch PPT
> > ports to EHCI on shutdown." works for Lynx Point as well at least on Intense-PC2. I mean we can add
> > XHCI_SPURIOUS_REBOOT flag that invokes usb_disable_xhci_ports().
> > May be this solution works for HP and other systems without side effects?
> 
> No, we already tested it at first, but didn't fix the behavior on HP
> machines.  It was harmless as far as we've tested, though.

Denis, what do you mean by "works for Lynx Point"?  Do you mean that
adding the quirk to switch the ports on EHCI on shutdown (e95829f474)
for the Intense-PC2 *instead of* the commit to put the host in D3 on
shutdown (638298dc66) works?  Or do you mean you need both patches for
your system?

If you only need the quirk to switch the ports to EHCI on shutdown, then
we could apply that broadly to Lynx Point LP, and see whether other
BIOSes tolerate that quirk.

The alternative would be to turn on the D3 quirk for systems with an HP
or Phoenix BIOS, by checking dmi_name_in_vendors() for those strings.

Sarah Sharp

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1] xhci: Switch Intel Lynx Point ports to EHCI on shutdown
  2014-01-07 23:11                 ` Sarah Sharp
@ 2014-01-08 12:57                   ` Denis Turischev
  0 siblings, 0 replies; 19+ messages in thread
From: Denis Turischev @ 2014-01-08 12:57 UTC (permalink / raw)
  To: Sarah Sharp, Takashi Iwai
  Cc: linux-kernel, linux-usb, Oliver Neukum, dashing.meng,
	Niklas Schnelle, Giorgos, art1

On 01/08/2014 01:11 AM, Sarah Sharp wrote:
> Denis, what do you mean by "works for Lynx Point"?  Do you mean that
> adding the quirk to switch the ports on EHCI on shutdown (e95829f474)
> for the Intense-PC2 *instead of* the commit to put the host in D3 on
> shutdown (638298dc66) works?  Or do you mean you need both patches for
> your system?
> 
> If you only need the quirk to switch the ports to EHCI on shutdown, then
> we could apply that broadly to Lynx Point LP, and see whether other
> BIOSes tolerate that quirk.

Yes, switching the ports on EHCI on shutdown is enough for Intense-PC2.
I don't need both patches.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH] xhci: Switch Intel Lynx Point ports to EHCI on shutdown.
  2013-12-19 16:29 xhci: Switch Intel Lynx Point ports to EHCI on shutdown Denis Turischev
  2013-12-19 16:38 ` Greg KH
  2013-12-19 17:07 ` [PATCH v1] " Denis Turischev
@ 2014-02-04 11:10 ` Denis Turischev
  2014-02-18  7:42   ` [RESEND] " Denis Turischev
  2 siblings, 1 reply; 19+ messages in thread
From: Denis Turischev @ 2014-02-04 11:10 UTC (permalink / raw)
  To: Sarah Sharp; +Cc: linux-kernel, linux-usb

The same issue like with Panther Point chipsets. If the USB ports are
switched to xHCI on shutdown, the xHCI host will send a spurious interrupt,
which will wake the system. Some BIOS have work around for this, but not all.
One example is Compulab's mini-desktop, the Intense-PC2.

The bug can be avoided if the USB ports are switched back to EHCI on
shutdown.

Signed-off-by: Denis Turischev <denis@compulab.co.il>
---
 drivers/usb/host/xhci-pci.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index 3c898c1..9233d12 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -134,6 +134,8 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
 		 */
 		if (pdev->subsystem_vendor == PCI_VENDOR_ID_HP)
 			xhci->quirks |= XHCI_SPURIOUS_WAKEUP;
+
+		xhci->quirks |= XHCI_SPURIOUS_REBOOT;
 	}
 	if (pdev->vendor == PCI_VENDOR_ID_ETRON &&
 			pdev->device == PCI_DEVICE_ID_ASROCK_P67) {
-- 
1.8.1.2


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [RESEND] [PATCH] xhci: Switch Intel Lynx Point ports to EHCI on shutdown.
  2014-02-04 11:10 ` [PATCH] " Denis Turischev
@ 2014-02-18  7:42   ` Denis Turischev
  2014-02-18 18:54     ` Sarah Sharp
  0 siblings, 1 reply; 19+ messages in thread
From: Denis Turischev @ 2014-02-18  7:42 UTC (permalink / raw)
  To: Sarah Sharp; +Cc: linux-kernel, linux-usb, Greg Kroah-Hartman

The same issue like with Panther Point chipsets. If the USB ports are
switched to xHCI on shutdown, the xHCI host will send a spurious interrupt,
which will wake the system. Some BIOS have work around for this, but not all.
One example is Compulab's mini-desktop, the Intense-PC2.

The bug can be avoided if the USB ports are switched back to EHCI on
shutdown.

Signed-off-by: Denis Turischev <denis@compulab.co.il>
---
 drivers/usb/host/xhci-pci.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index 3c898c1..9233d12 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -134,6 +134,8 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
 		 */
 		if (pdev->subsystem_vendor == PCI_VENDOR_ID_HP)
 			xhci->quirks |= XHCI_SPURIOUS_WAKEUP;
+
+		xhci->quirks |= XHCI_SPURIOUS_REBOOT;
 	}
 	if (pdev->vendor == PCI_VENDOR_ID_ETRON &&
 			pdev->device == PCI_DEVICE_ID_ASROCK_P67) {
-- 1.8.1.2



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [RESEND] [PATCH] xhci: Switch Intel Lynx Point ports to EHCI on shutdown.
  2014-02-18  7:42   ` [RESEND] " Denis Turischev
@ 2014-02-18 18:54     ` Sarah Sharp
  0 siblings, 0 replies; 19+ messages in thread
From: Sarah Sharp @ 2014-02-18 18:54 UTC (permalink / raw)
  To: Denis Turischev; +Cc: linux-kernel, linux-usb, Greg Kroah-Hartman

Sorry for the delay in reviewing this.  It helps me if you don't make the
patch in-reply-to a months old thread. :)  I'll take a look at this
shortly.

Sarah Sharp

On Tue, Feb 18, 2014 at 09:42:39AM +0200, Denis Turischev wrote:
> The same issue like with Panther Point chipsets. If the USB ports are
> switched to xHCI on shutdown, the xHCI host will send a spurious interrupt,
> which will wake the system. Some BIOS have work around for this, but not all.
> One example is Compulab's mini-desktop, the Intense-PC2.
> 
> The bug can be avoided if the USB ports are switched back to EHCI on
> shutdown.
> 
> Signed-off-by: Denis Turischev <denis@compulab.co.il>
> ---
>  drivers/usb/host/xhci-pci.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
> index 3c898c1..9233d12 100644
> --- a/drivers/usb/host/xhci-pci.c
> +++ b/drivers/usb/host/xhci-pci.c
> @@ -134,6 +134,8 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
>  		 */
>  		if (pdev->subsystem_vendor == PCI_VENDOR_ID_HP)
>  			xhci->quirks |= XHCI_SPURIOUS_WAKEUP;
> +
> +		xhci->quirks |= XHCI_SPURIOUS_REBOOT;
>  	}
>  	if (pdev->vendor == PCI_VENDOR_ID_ETRON &&
>  			pdev->device == PCI_DEVICE_ID_ASROCK_P67) {
> -- 1.8.1.2
> 
> 

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2014-02-18 18:54 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-19 16:29 xhci: Switch Intel Lynx Point ports to EHCI on shutdown Denis Turischev
2013-12-19 16:38 ` Greg KH
2013-12-19 17:07 ` [PATCH v1] " Denis Turischev
2013-12-19 18:21   ` Sarah Sharp
2013-12-20 10:41     ` Denis Turischev
2013-12-20 23:45       ` Sarah Sharp
2013-12-21 16:45         ` Holger Freyther
2013-12-22  7:47         ` Denis Turischev
2014-01-03  0:03           ` Sarah Sharp
2014-01-03  3:40             ` littlebat
2014-01-03 18:14             ` Oliver Neukum
2014-01-03 19:34             ` art1
2014-01-06 12:34             ` Denis Turischev
2014-01-07 10:03               ` Takashi Iwai
2014-01-07 23:11                 ` Sarah Sharp
2014-01-08 12:57                   ` Denis Turischev
2014-02-04 11:10 ` [PATCH] " Denis Turischev
2014-02-18  7:42   ` [RESEND] " Denis Turischev
2014-02-18 18:54     ` Sarah Sharp

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).