1. 14 9月, 2012 8 次提交
    • E
      xHCI: handle command after aborting the command ring · b63f4053
      Elric Fu 提交于
      According to xHCI spec section 4.6.1.1 and section 4.6.1.2,
      after aborting a command on the command ring, xHC will
      generate a command completion event with its completion
      code set to Command Ring Stopped at least. If a command is
      currently executing at the time of aborting a command, xHC
      also generate a command completion event with its completion
      code set to Command Abort. When the command ring is stopped,
      software may remove, add, or rearrage Command Descriptors.
      
      To cancel a command, software will initialize a command
      descriptor for the cancel command, and add it into a
      cancel_cmd_list of xhci. When the command ring is stopped,
      software will find the command trbs described by command
      descriptors in cancel_cmd_list and modify it to No Op
      command. If software can't find the matched trbs, we can
      think it had been finished.
      
      This patch should be backported to kernels as old as 3.0, that contain
      the commit 7ed603ec "xhci: Add an
      assertion to check for virt_dev=0 bug." That commit papers over a NULL
      pointer dereference, and this patch fixes the underlying issue that
      caused the NULL pointer dereference.
      Signed-off-by: NElric Fu <elricfu1@gmail.com>
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Tested-by: NMiroslav Sabljic <miroslav.sabljic@avl.com>
      Cc: stable@vger.kernel.org
      b63f4053
    • E
      xHCI: cancel command after command timeout · 6e4468b9
      Elric Fu 提交于
      The patch is used to cancel command when the command isn't
      acknowledged and a timeout occurs.
      
      This patch should be backported to kernels as old as 3.0, that contain
      the commit 7ed603ec "xhci: Add an
      assertion to check for virt_dev=0 bug." That commit papers over a NULL
      pointer dereference, and this patch fixes the underlying issue that
      caused the NULL pointer dereference.
      Signed-off-by: NElric Fu <elricfu1@gmail.com>
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Tested-by: NMiroslav Sabljic <miroslav.sabljic@avl.com>
      Cc: stable@vger.kernel.org
      6e4468b9
    • E
      xHCI: add aborting command ring function · b92cc66c
      Elric Fu 提交于
      Software have to abort command ring and cancel command
      when a command is failed or hang. Otherwise, the command
      ring will hang up and can't handle the others. An example
      of a command that may hang is the Address Device Command,
      because waiting for a SET_ADDRESS request to be acknowledged
      by a USB device is outside of the xHC's ability to control.
      
      To cancel a command, software will initialize a command
      descriptor for the cancel command, and add it into a
      cancel_cmd_list of xhci.
      
      Sarah: Fixed missing newline on "Have the command ring been stopped?"
      debugging statement.
      
      This patch should be backported to kernels as old as 3.0, that contain
      the commit 7ed603ec "xhci: Add an
      assertion to check for virt_dev=0 bug." That commit papers over a NULL
      pointer dereference, and this patch fixes the underlying issue that
      caused the NULL pointer dereference.
      Signed-off-by: NElric Fu <elricfu1@gmail.com>
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Tested-by: NMiroslav Sabljic <miroslav.sabljic@avl.com>
      Cc: stable@vger.kernel.org
      b92cc66c
    • E
      xHCI: add cmd_ring_state · c181bc5b
      Elric Fu 提交于
      Adding cmd_ring_state for command ring. It helps to verify
      the current command ring state for controlling the command
      ring operations.
      
      This patch should be backported to kernels as old as 3.0.  The commit
      7ed603ec "xhci: Add an assertion to
      check for virt_dev=0 bug." papers over the NULL pointer dereference that
      I now believe is related to a timed out Set Address command.  This (and
      the four patches that follow it) contain the real fix that also allows
      VIA USB 3.0 hubs to consistently re-enumerate during the plug/unplug
      stress tests.
      Signed-off-by: NElric Fu <elricfu1@gmail.com>
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Tested-by: NMiroslav Sabljic <miroslav.sabljic@avl.com>
      Cc: stable@vger.kernel.org
      c181bc5b
    • G
      USB: core: remove unused dbg() call in message.c · c2d57aec
      Greg Kroah-Hartman 提交于
      It's not needed, and commented out, so just remove it.
      
      Cc: Sarah Sharp <sarah.a.sharp@linux.intel.com>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      c2d57aec
    • G
      USB: atm: usbatm: fix up debug printing code · 34ad569f
      Greg Kroah-Hartman 提交于
      If VERBOSE_DEBUG was enabled, lots of build errors happend (obviously no
      one uses this mode.)  So fix that up, and get rid of the dbg() call, and
      use dev_dbg() like the rest of the driver does.
      
      Cc: Duncan Sands <duncan.sands@free.fr>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      34ad569f
    • G
      USB: serial: add zte_ev.c driver · 799ee924
      Greg Kroah-Hartman 提交于
      This adds a driver for the zte_ev set of usb to serial devices.  It is
      based on a patch floating around the internet that modified the generic
      usb-serial driver to only work for this type of device.
      
      I've left comments in the code that I think show the data commands being
      sent to the device, which I'm guessing come from a usb analyzer.  Maybe
      they can help others out as well.
      
      Many thanks to nirinA raseliarison for pointing the original patch out
      to me, and for testing that the driver works properly.
      Tested-by: NnirinA raseliarison <nirina.raseliarison@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      799ee924
    • G
      USB: serial: move usb_serial_debug_data to use %*ph · 1db9e45c
      Greg Kroah-Hartman 提交于
      Now that we have a printk modifier for data streams, use it instead of
      rolling our own.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      1db9e45c
  2. 13 9月, 2012 14 次提交
  3. 12 9月, 2012 5 次提交
    • K
    • G
      Merge tag 'musb-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next · 1cd572fc
      Greg Kroah-Hartman 提交于
      usb: musb: patches for v3.7 merge window
      
      Here we have a bunch of miscellaneous cleanups and fixes
      to the musb driver. It fixes a bunch of mistakes errors
      which nobody has triggered before, so I'm not Ccing stable
      tree.
      
      We are finally improving OMAP's VBUS/ID Mailbox usage so
      that we can introduce our PHY drivers properly. Also, we're
      adding support for multiple instances of the MUSB IP in
      the same SoC, as seen on some platforms from TI which
      have 2 MUSB instances.
      
      Other than that, we have some small fixes like not kicking
      DMA for a zero byte transfer, or properly handling NAK timeout
      on MUSB's host side, and the enabling of DMA Mode1 for any
      transfers which are aligned to wMaxPacketSize.
      
      All patches have been pending on mailing list for a long time
      and I don't expect any big surprises with this pull request.
      1cd572fc
    • G
      Merge tag 'dwc3-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next · e6d49d09
      Greg Kroah-Hartman 提交于
      usb: dwc3: patches for v3.7 merge window
      
      Some much needed changes for our dwc3 driver. First there's a
      rework on the ep0 handling due to some Silicon issue we uncovered
      which affects all users of this IP core (there's a missing
      XferNotReady(DATA) event in some conditions). This issue which
      show up as a SETUP transfers which wouldn't complete ever and
      we would fail TD 7.06 of the Link Layer Test from USB-IF and
      Lecroy's USB3 Exerciser.
      
      We also fix a long standing bug regarding EP0 enable sequencing
      where we weren't setting a particular bit (Ignore Sequence
      Number). Since we never saw any problems caused by that, it
      didn't deserve being sent to stable tree.
      
      On this pull request we also fix Burst Size initialization which
      should be done only in SuperSpeed and we were mistakenly setting
      Burst Size to the maximum value on non-SuperSpeed mode. Again,
      since we never saw any problems caused by that, we're not sending
      this patch to stable.
      
      There's also a memory ordering fix regarding usage of bitmaps in
      dwc3 driver.
      
      You will also find some sparse warnings fix, a fix for missed
      isochronous packets when the endpoint is already busy, and a
      fix for synchronization delay on dwc3_stop_active_transfer().
      e6d49d09
    • G
      Merge tag 'xceiv-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next · dcb9cf39
      Greg Kroah-Hartman 提交于
      usb: xceiv: patches for v3.7 merge window
      
      nop xceiv got its own header to avoid polluting otg.h. It has also
      learned to work as USB2 and USB3 phys so we can use it on USB3
      controllers.
      
      Together with those two changes to nop xceiv, we're adding basic
      PHY support to dwc3 driver, this is to allow platforms which actually
      have a SW-controllable PHY talk to them through dwc3 driver.
      
      We're adding a new phy driver for the OMAP architecture. This driver
      is for the PHY found in OMAP4 SoCs, and a new phy driver for the
      marvell architecture. An extra phy driver - for Tegra SoCs - is now
      moving from arch/arm/mach-tegra* to drivers/usb/phy.
      
      Also here, there's the creation of <linux/usb/phy.h> which should be
      used from now on for PHY drivers, even those which don't support
      OTG.
      dcb9cf39
    • G
      Merge tag 'gadget-for-v3.7' of... · 7135f08e
      Greg Kroah-Hartman 提交于
      Merge tag 'gadget-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next
      
      usb: gadget: patches for v3.7 merge window
      
      This pull request is large but the biggest part is the first part
      of the cleanup on the gadget framework so we have a saner setup
      to add configfs support for v3.8.
      
      We have also some more conversions to the new udc_start/udc_stop
      which makes us closer from dropping the old interfaces.
      
      USB_GADGET_DUALSPEED and USB_GADGET_SUPERSPEED are finally gone,
      thanks to Michal for his awesome work.
      
      Other than that, we have the usual set of miscellaneous changes
      and cleanups involving improvements to debug messages, removal
      of duplicated includes, moving dereference after NULL test,
      making renesas_hsbhs' irq handler Shared, unused code being dropped,
      prevention of sleep-inside-spinlock bugs and a race condition fix
      on udc-core.
      7135f08e
  4. 11 9月, 2012 13 次提交