From: Greg KH <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: torvalds@linux-foundation.org, akpm@linux-foundation.org,
alan@lxorguk.ukuu.org.uk,
Sarah Sharp <sarah.a.sharp@linux.intel.com>,
Eric Anholt <eric.anholt@intel.com>, David Bein <d.bein@f5.com>
Subject: [ 59/94] xhci: Avoid dead ports when CONFIG_USB_XHCI_HCD=n
Date: Sun, 27 May 2012 10:05:22 +0900 [thread overview]
Message-ID: <20120527010432.095748923@linuxfoundation.org> (raw)
In-Reply-To: <20120527010332.GA11170@kroah.com>
3.3-stable review patch. If anyone has any objections, please let me know.
------------------
From: Sarah Sharp <sarah.a.sharp@linux.intel.com>
commit 51c9e6c7732b67769c0a514d31f505e49fa82dd4 upstream.
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 stable kernels as old as 3.0,
that contain commit 69e848c2090aebba5698a1620604c7dccb448684
"Intel xhci: Support EHCI/xHCI port switching."
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Reported-by: Eric Anholt <eric.anholt@intel.com>
Reported-by: David Bein <d.bein@f5.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/usb/host/pci-quirks.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
--- a/drivers/usb/host/pci-quirks.c
+++ b/drivers/usb/host/pci-quirks.c
@@ -9,6 +9,7 @@
*/
#include <linux/types.h>
+#include <linux/kconfig.h>
#include <linux/kernel.h>
#include <linux/pci.h>
#include <linux/init.h>
@@ -758,6 +759,19 @@ void usb_enable_xhci_ports(struct pci_de
{
u32 ports_available;
+ /* 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)) {
+ dev_warn(&xhci_pdev->dev,
+ "CONFIG_USB_XHCI_HCD is turned off, "
+ "defaulting to EHCI.\n");
+ dev_warn(&xhci_pdev->dev,
+ "USB 3.0 devices will work at USB 2.0 speeds.\n");
+ return;
+ }
+
ports_available = 0xffffffff;
/* Write USB3_PSSEN, the USB 3.0 Port SuperSpeed Enable
* Register, to turn on SuperSpeed terminations for all
next prev parent reply other threads:[~2012-05-27 1:10 UTC|newest]
Thread overview: 107+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-27 1:03 [ 00/94] 3.3.8-stable review Greg KH
2012-05-27 1:04 ` [ 01/94] tilegx: enable SYSCALL_WRAPPERS support Greg KH
2012-05-27 1:04 ` [ 02/94] bio allocation failure due to bio_get_nr_vecs() Greg KH
2012-05-27 1:04 ` [ 03/94] block: fix buffer overflow when printing partition UUIDs Greg KH
2012-05-27 1:04 ` [ 04/94] block: dont mark buffers beyond end of disk as mapped Greg KH
2012-05-27 1:04 ` [ 05/94] PARISC: fix PA1.1 oops on boot Greg KH
2012-05-27 1:04 ` [ 06/94] PARISC: fix crash in flush_icache_page_asm on PA1.1 Greg KH
2012-05-27 1:04 ` [ 07/94] PARISC: fix panic on prefetch(NULL) on PA7300LC Greg KH
2012-05-27 1:04 ` [ 08/94] isdn/gigaset: ratelimit CAPI message dumps Greg KH
2012-05-27 1:04 ` [ 09/94] vfs: make AIO use the proper rw_verify_area() area helpers Greg KH
2012-05-27 1:04 ` [ 10/94] iwlwifi: use 6000G2B for 6030 device series Greg KH
2012-05-27 13:38 ` Ben Hutchings
2012-06-01 7:01 ` Greg KH
2012-05-27 1:04 ` [ 11/94] iwlwifi: use correct released ucode version Greg KH
2012-05-27 1:04 ` [ 12/94] net/wireless: ipw2200: Fix WARN_ON occurring in wiphy_register called by ipw_pci_probe Greg KH
2012-05-27 19:47 ` Herton Ronaldo Krzesinski
2012-06-01 6:58 ` Greg KH
2012-05-27 1:04 ` [ 13/94] cfg80211: warn if db.txt is empty with CONFIG_CFG80211_INTERNAL_REGDB Greg KH
2012-05-27 1:04 ` [ 14/94] regulator: core: Release regulator-regulator supplies on error Greg KH
2012-05-27 1:04 ` [ 15/94] Fix blocking allocations called very early during bootup Greg KH
2012-05-27 1:04 ` [ 16/94] s390/pfault: fix task state race Greg KH
2012-05-27 1:04 ` [ 17/94] SCSI: mpt2sas: Fix for panic happening because of improper memory allocation Greg KH
2012-05-27 1:04 ` [ 18/94] isci: fix oem parameter validation on single controller skus Greg KH
2012-05-27 1:04 ` [ 19/94] RDMA/cxgb4: Always wake up waiters in c4iw_peer_abort_intr() Greg KH
2012-05-27 1:04 ` [ 20/94] RDMA/cxgb4: Use dst parameter in import_ep() Greg KH
2012-05-27 1:04 ` [ 21/94] RDMA/cxgb4: Drop peer_abort when no endpoint found Greg KH
2012-05-27 1:04 ` [ 22/94] powerpc: Fix broken cpu_idle_wait() implementation Greg KH
2012-05-27 1:04 ` [ 23/94] KEYS: Use the compat keyctl() syscall wrapper on Sparc64 for Sparc32 compat Greg KH
2012-05-27 1:04 ` [ 24/94] SELinux: if sel_make_bools errors dont leave inconsistent state Greg KH
2012-05-27 1:04 ` [ 25/94] IB/core: Fix mismatch between locked and pinned pages Greg KH
2012-05-27 1:04 ` [ 26/94] drivers/staging/comedi/comedi_fops.c: add missing vfree Greg KH
2012-05-27 1:04 ` [ 27/94] perf/x86: Update event scheduling constraints for AMD family 15h models Greg KH
2012-05-27 1:04 ` [ 28/94] mtd: sm_ftl: fix typo in major number Greg KH
2012-05-27 1:04 ` [ 29/94] libata: forbid port runtime pm by default, fixing regression Greg KH
2012-05-27 1:04 ` [ 30/94] ahci: Detect Marvell 88SE9172 SATA controller Greg KH
2012-05-27 1:04 ` [ 31/94] HID: wiimote: Fix IR data parser Greg KH
2012-05-27 1:04 ` [ 32/94] usbhid: prevent deadlock during timeout Greg KH
2012-05-27 1:04 ` [ 33/94] HID: logitech: read all 32 bits of report type bitfield Greg KH
2012-05-27 1:04 ` [ 34/94] um: Fix __swp_type() Greg KH
2012-05-27 1:04 ` [ 35/94] um: Implement a custom pte_same() function Greg KH
2012-05-27 1:04 ` [ 36/94] docs: update HOWTO for 2.6.x -> 3.x versioning Greg KH
2012-05-27 1:05 ` [ 37/94] swap: dont do discard if no discard option added Greg KH
2012-05-27 1:05 ` [ 38/94] USB: cdc-wdm: sanitize error returns Greg KH
2012-05-27 1:05 ` [ 39/94] USB: cdc-wdm: poll must return POLLHUP if device is gone Greg KH
2012-05-27 1:05 ` [ 40/94] workqueue: skip nr_running sanity check in worker_enter_idle() if trustee is active Greg KH
2012-05-27 1:05 ` [ 41/94] mm: mempolicy: Let vma_merge and vma_split handle vma->vm_policy linkages Greg KH
2012-05-27 1:05 ` [ 42/94] md: using GFP_NOIO to allocate bio for flush request Greg KH
2012-05-27 1:05 ` [ 43/94] Add missing call to uart_update_timeout() Greg KH
2012-05-27 1:05 ` [ 44/94] 8250_pci: fix pch uart matching Greg KH
2012-05-27 1:05 ` [ 45/94] tty: Allow uart_register/unregister/register Greg KH
2012-05-27 1:05 ` [ 46/94] USB: ftdi-sio: add support for Physik Instrumente E-861 Greg KH
2012-05-27 1:05 ` [ 47/94] usb-storage: unusual_devs entry for Yarvik PMP400 MP4 player Greg KH
2012-05-27 1:05 ` [ 48/94] USB: ffs-test: fix length argument of out function call Greg KH
2012-05-27 1:05 ` [ 49/94] drivers/rtc/rtc-pl031.c: configure correct wday for 2000-01-01 Greg KH
2012-05-27 1:05 ` [ 50/94] SCSI: hpsa: Fix problem with MSA2xxx devices Greg KH
2012-05-27 1:05 ` [ 51/94] udlfb: fix hcd_buffer_free panic on unplug/replug Greg KH
2012-05-27 1:05 ` [ 52/94] usb: usbtest: two super speed fixes for usbtest Greg KH
2012-05-27 1:05 ` [ 53/94] USB: ohci-at91: add a reset function to fix race condition Greg KH
2012-05-27 1:05 ` [ 54/94] USB: Remove races in devio.c Greg KH
2012-05-27 1:05 ` [ 55/94] USB: serial: ti_usb_3410_5052: Add support for the FRI2 serial console Greg KH
2012-05-27 1:05 ` [ 56/94] usb: gadget: fsl_udc_core: dTDs next dtd pointer need to be updated once written Greg KH
2012-05-27 1:05 ` [ 57/94] usb: add USB_QUIRK_RESET_RESUME for M-Audio 88es Greg KH
2012-05-27 1:05 ` [ 58/94] xhci: Add Lynx Point to list of Intel switchable hosts Greg KH
2012-05-27 1:05 ` Greg KH [this message]
2012-05-27 1:05 ` [ 60/94] usb-xhci: Handle COMP_TX_ERR for isoc tds Greg KH
2012-05-27 1:05 ` [ 61/94] xhci: Reset reserved command ring TRBs on cleanup Greg KH
2012-05-27 1:05 ` [ 62/94] xhci: Add new short TX quirk for Fresco Logic host Greg KH
2012-05-27 1:05 ` [ 63/94] USB: fix resource leak in xhci power loss path Greg KH
2012-05-27 1:05 ` [ 64/94] usbcore: enable USB2 LPM if port suspend fails Greg KH
2012-05-27 1:05 ` [ 65/94] gma500: Fix Poulsbo suspend/resume crash on devices with SDVO ports Greg KH
2012-05-27 1:05 ` [ 66/94] b43legacy: Fix error due to MMIO access with SSB unpowered Greg KH
2012-05-27 1:05 ` [ 67/94] drm/i915: Avoid a double-read of PCH_IIR during interrupt handling Greg KH
2012-05-27 1:05 ` [ 68/94] drm/i915: [GEN7] Use HW scheduler for fixed function shaders Greg KH
2012-05-27 1:05 ` [ 69/94] drm/i915: dont clobber the pipe param in sanitize_modesetting Greg KH
2012-05-27 1:05 ` [ 70/94] gpio: mpc8xxx: Prevent NULL pointer deref in demux handler Greg KH
2012-05-27 1:05 ` [ 71/94] spi/spi-fsl-spi: reference correct pdata in fsl_spi_cs_control Greg KH
2012-05-28 19:44 ` Herton Ronaldo Krzesinski
2012-06-01 7:05 ` Greg KH
2012-05-27 1:05 ` [ 72/94] xen: do not map the same GSI twice in PVHVM guests Greg KH
2012-05-27 1:05 ` [ 73/94] nouveau: nouveau_set_bo_placement takes TTM flags Greg KH
2012-05-27 1:05 ` [ 74/94] [media] smsusb: add autodetection support for USB ID 2040:c0a0 Greg KH
2012-05-27 1:05 ` [ 75/94] media: uvcvideo: Fix ENUMINPUT handling Greg KH
2012-05-27 1:05 ` [ 76/94] x86, realmode: 16-bit real-mode code support for relocs tool Greg KH
2012-05-27 16:37 ` Ben Hutchings
2012-05-27 20:02 ` Greg KH
2012-05-27 1:05 ` [ 77/94] x86, relocs: Workaround for binutils 2.22.52.0.1 section bug Greg KH
2012-05-27 1:05 ` [ 78/94] x86, relocs: When printing an error, say relative or absolute Greg KH
2012-05-27 1:05 ` [ 79/94] x86, relocs: Build clean fix Greg KH
2012-05-27 1:05 ` [ 80/94] x86-32, relocs: Whitelist more symbols for ld bug workaround Greg KH
2012-05-27 1:05 ` [ 81/94] x86, relocs: Add jiffies and jiffies_64 to the relative whitelist Greg KH
2012-05-27 1:05 ` [ 82/94] x86/mce: Fix check for processor context when machine check was taken Greg KH
2012-05-27 1:05 ` [ 83/94] mmc: sdio: avoid spurious calls to interrupt handlers Greg KH
2012-05-27 1:05 ` [ 84/94] mmc: cd-gpio: protect against NULL context in mmc_cd_gpio_free() Greg KH
2012-05-27 1:05 ` [ 85/94] mmc: omap_hsmmc: pass IRQF_ONESHOT to request_threaded_irq Greg KH
2012-05-27 1:05 ` [ 86/94] tile: fix bug where fls(0) was not returning 0 Greg KH
2012-05-27 1:05 ` [ 87/94] intel-iommu: Add device info into list before doing context mapping Greg KH
2012-05-27 1:05 ` [ 88/94] iommu: Fix off by one in dmar_get_fault_reason() Greg KH
2012-05-27 1:05 ` [ 89/94] rtlwifi: fix for race condition when firmware is cached Greg KH
2012-05-28 20:21 ` Herton Ronaldo Krzesinski
2012-05-28 21:59 ` Larry Finger
2012-06-01 7:06 ` Greg KH
2012-05-27 1:05 ` [ 90/94] ARM: 7365/1: drop unused parameter from flush_cache_user_range Greg KH
2012-05-27 1:05 ` [ 91/94] ARM: 7409/1: Do not call flush_cache_user_range with mmap_sem held Greg KH
2012-05-27 1:05 ` [ 92/94] MCE: Fix vm86 handling for 32bit mce handler Greg KH
2012-05-27 1:05 ` [ 93/94] i2c: davinci: Free requested IRQ in remove Greg KH
2012-05-27 1:05 ` [ 94/94] i2c: tegra: notify transfer-complete after clearing status Greg KH
2012-05-27 1:11 ` [ 00/94] 3.3.8-stable review Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120527010432.095748923@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=d.bein@f5.com \
--cc=eric.anholt@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=sarah.a.sharp@linux.intel.com \
--cc=stable@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.