lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20131219163821.GA27409@kroah.com>
Date:	Thu, 19 Dec 2013 08:38:21 -0800
From:	Greg KH <gregkh@...uxfoundation.org>
To:	Denis Turischev <denis.turischev@...pulab.co.il>
Cc:	Sarah Sharp <sarah.a.sharp@...ux.intel.com>,
	linux-kernel@...r.kernel.org, linux-usb@...r.kernel.org
Subject: Re: xhci: Switch Intel Lynx Point ports to EHCI on shutdown

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@...pulab.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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ