1. 17 Aug, 2011 3 commits
    • Sarah Sharp's avatar
      xhci: Don't submit commands or URBs to halted hosts. · d4194efe
      Sarah Sharp authored
      commit 7bd89b40 upstream.
      
      Commit fccf4e86
      "USB: Free bandwidth when usb_disable_device is called" caused a bit of an
      issue when the xHCI host controller driver is unloaded.  It changed the
      USB core to remove all endpoints when a USB device is disabled.  When the
      driver is unloaded, it will remove the SuperSpeed split root hub, which
      will disable all devices under that roothub and then halt the host
      controller.  When the second High Speed split roothub is removed, the USB
      core will attempt to disable the endpoints, which will submit a Configure
      Endpoint command to a halted host controller.
      
      The command will eventually time out, but it makes the xHCI driver unload
      take *minutes* if there are a couple of USB 1.1/2.0 devices attached.  We
      must halt the host controller when the SuperSpeed roothub is removed,
      because we can't allow any interrupts from things like port status
      changes.
      
      Make several different functions not submit commands or URBs to the host
      controller when the host is halted, by adding a check in
      xhci_check_args().  xhci_check_args() is used by these functions:
      
      xhci.c-int xhci_urb_enqueue()
      xhci.c-int xhci_drop_endpoint()
      xhci.c-int xhci_add_endpoint()
      xhci.c-int xhci_check_bandwidth()
      xhci.c-void xhci_reset_bandwidth()
      xhci.c-static int xhci_check_streams_endpoint()
      xhci.c-int xhci_discover_or_reset_device()
      
      It's also used by xhci_free_dev().  However, we have to take special
      care in that case, because we want the device memory to be freed if the
      host controller is halted.
      
      This patch should be backported to the 2.6.39 and 3.0 kernel.
      Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      d4194efe
    • JiSheng Zhang's avatar
      USB: xhci: fix OS want to own HC · 2c97674e
      JiSheng Zhang authored
      commit 6768458b upstream.
      
      Software should set XHCI_HC_OS_OWNED bit to request ownership of xHC.
      
      This patch should be backported to kernels as far back as 2.6.31.
      Signed-off-by: default avatarJiSheng Zhang <jszhang3@gmail.com>
      Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      2c97674e
    • Stefan Lippers-Hollmann's avatar
      staging: rtl8192u: declare MODULE_FIRMWARE · 92d934f0
      Stefan Lippers-Hollmann authored
      commit 589c3ca0 upstream.
      
      declaring MODULE_FIRMWARE has apparently forgotten while removing the embedded
      firmware arrays in 0a8692b5 (rtl8192u_usb:
      Remove built-in firmware images).
      Signed-off-by: default avatarStefan Lippers-Hollmann <s.l-h@gmx.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      92d934f0
  2. 16 Aug, 2011 37 commits