On Thu, Jun 07, 2012 at 03:49:11PM -0700, Sarah Sharp wrote:
> If the user chooses to say "no" to CONFIG_USB_XHCI_HCD on a system
> with an Intel Panther Point chipset, the PCI quirks code or the EHCI
> driver will switch the ports over to the xHCI host, but the xHCI driver
> will never load.  The ports will be powered off and seem "dead" to the
> user.
> 
> Fix this by only switching the ports over if CONFIG_USB_XHCI_HCD is
> either compiled in, or compiled as a module.
> 
> This patch should be backported to the 3.0 stable kernel, since it
> contains the commit 69e848c2090aebba5698a1620604c7dccb448684 "Intel
> xhci: Support EHCI/xHCI port switching."
> 
> Signed-off-by: Sarah Sharp <[email protected]>
> Reported-by: Eric Anholt <[email protected]>
> Reported-by: David Bein <[email protected]>
> Cc: [email protected]
> ---
> 
> Hi Greg,
> 
> This patch should build against the 3.0-stable branch.  Please queue it
> for 3.0.
> 
> Thanks,
> Sarah Sharp
> 
> 
>  drivers/usb/host/pci-quirks.c |   15 +++++++++++++++
>  1 files changed, 15 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
> index 0757b19..d0cf708 100644
> --- a/drivers/usb/host/pci-quirks.c
> +++ b/drivers/usb/host/pci-quirks.c
> @@ -757,6 +757,7 @@ void usb_enable_xhci_ports(struct pci_dev *xhci_pdev)
>  {
>       u32             ports_available;
>  
> +#if defined(CONFIG_USB_XHCI_HCD) || defined(CONFIG_USB_XHCI_HCD_MODULE)
>       ports_available = 0xffffffff;
>       /* Write USB3_PSSEN, the USB 3.0 Port SuperSpeed Enable
>        * Register, to turn on SuperSpeed terminations for all
> @@ -782,6 +783,20 @@ void usb_enable_xhci_ports(struct pci_dev *xhci_pdev)
>                       &ports_available);
>       dev_dbg(&xhci_pdev->dev, "USB 2.0 ports that are now switched over "
>                       "to xHCI: 0x%x\n", ports_available);
> +#else
> +     /* Don't switchover the ports if the user hasn't compiled the xHCI
> +      * driver.  Otherwise they will see "dead" USB ports that don't power
> +      * the devices.
> +      */
> +     if (!IS_ENABLED(CONFIG_USB_XHCI_HCD)) {

This breaks the build on the 3.0 tree, care to send me a fixed version?

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to