1. 07 Mar, 2014 4 commits
    • Greg Kroah-Hartman's avatar
      Merge tag 'for-usb-next-2014-03-06' of... · c9050b64
      Greg Kroah-Hartman authored
      Merge tag 'for-usb-next-2014-03-06' of git://git.kernel.org/pub/scm/linux/kernel/git/sarah/xhci into usb-next
      
      Sarah writes:
      
      xhci: Streams and UAS cleanups, misc cleanups for 3.15
      
      Hi Greg,
      
      Here's 76 patches to queue to usb-next for 3.15.
      
      The bulk of this rather large pull request is the UAS driver cleanup, the
      xHCI streams fixes, and the new userspace API for usbfs to be able to use
      and alloc/free bulk streams.  I've hammered on these changes, and the UAS
      driver seems solid.  The performance numbers are pretty spiffy too:
      
      root@xanatos:~# echo 3 > /proc/sys/vm/drop_caches; dd if=/dev/sdb of=/dev/null bs=4k count=1000M iflag=count_bytes
      256000+0 records in
      256000+0 records out
      1048576000 bytes (1.0 GB) copied, 3.28557 s, 319 MB/s
      
      That's about 100 MB/s faster than my fastest Bulk-only-Transport mass
      storage drive.
      
      There's a couple of miscellaneous cleanup patches and non-urgent bug fixes
      in here as well:
      
      79699437 xhci: add the meaningful IRQ description if it is empty
      bcffae77 xhci: Prevent runtime pm from autosuspending during initialization
      e587b8b2 xhci: make warnings greppable
      25cd2882 usb/xhci: Change how we indicate a host supports Link PM.
      
      Sarah Sharp
      c9050b64
    • Thomas Pugliese's avatar
      usb: wusbcore: disable transfer notifications for Alereon HWAs · 86e2864d
      Thomas Pugliese authored
      The HWA driver does not do anything with transfer notifications after
      receiving the first one and the Alereon HWA allows them to be disabled
      as a performance optimization.  This patch sends a vendor specific
      command to the Alereon HWA on startup to disable transfer notifications.
      If the command is successful, the DTI system is started immediately
      since that would normally be started upon the first reception of a
      transfer notification which will no longer be sent.
      Signed-off-by: default avatarThomas Pugliese <thomas.pugliese@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      86e2864d
    • Thomas Pugliese's avatar
      usb: wusbcore: don't mark WA_SEG_DTI_PENDING segs as done in urb_dequeue · 5090ecea
      Thomas Pugliese authored
      Data for transfer segments in the WA_SEG_DTI_PENDING state is actively
      being read by the driver.  Let the buffer read callback handle the
      transfer cleanup since cleaning it up in wa_urb_dequeue will cause the
      read callback to access invalid memory if the transfer is completed.
      Signed-off-by: default avatarThomas Pugliese <thomas.pugliese@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      5090ecea
    • Thomas Pugliese's avatar
      usb: wusbcore: fix potential double list_del on urb dequeue · 2a6da97f
      Thomas Pugliese authored
      This patch locks rpipe->seg_lock around the entire transfer segment
      cleanup loop in wa_urb_dequeue instead of just one case of the switch
      statement.  This fixes a race between __wa_xfer_delayed_run and
      wa_urb_dequeue where a transfer segment in the WA_SEG_DELAYED state
      could be removed from the rpipe seg_list twice leading to memory
      corruption.  It also switches the spin_lock call to use the non-irqsave
      version since the xfer->lock is already held and irqs already disabled.
      Signed-off-by: default avatarThomas Pugliese <thomas.pugliese@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      2a6da97f
  2. 06 Mar, 2014 2 commits
  3. 04 Mar, 2014 34 commits