26 Feb, 2014

4 commits

  • doc.2014.02.24a: Documentation changes
    fixes.2014.02.26a: Miscellaneous fixes
    rt.2014.02.17b: Response-time-related changes

    Paul E. McKenney
     
  • The kbuild test bot uncovered an implicit dependence on the
    trace header being present before rcu.h in ia64 allmodconfig
    that looks like this:

    In file included from kernel/ksysfs.c:22:0:
    kernel/rcu/rcu.h: In function '__rcu_reclaim':
    kernel/rcu/rcu.h:107:3: error: implicit declaration of function 'trace_rcu_invoke_kfree_callback' [-Werror=implicit-function-declaration]
    kernel/rcu/rcu.h:112:3: error: implicit declaration of function 'trace_rcu_invoke_callback' [-Werror=implicit-function-declaration]
    cc1: some warnings being treated as errors

    Looking at other rcu.h users, we can find that they all
    were sourcing the trace header in advance of rcu.h itself,
    as seen in the context of this diff. There were also some
    inconsistencies as to whether it was or wasn't sourced based
    on the parent tracing Kconfig.

    Rather than "fix" it at each use site, and have inconsistent
    use based on whether "#ifdef CONFIG_RCU_TRACE" was used or not,
    lets just source the trace header just once, in the actual consumer
    of it, which is rcu.h itself. We include it unconditionally, as
    build testing shows us that is a hard requirement for some files.

    Reported-by: kbuild test robot
    Signed-off-by: Paul Gortmaker
    Signed-off-by: Paul E. McKenney

    Paul Gortmaker
     
  • This commit fixes the follwoing warning:

    kernel/ksysfs.c:143:5: warning: symbol 'rcu_expedited' was not declared. Should it be static?

    Signed-off-by: Paul Gortmaker
    [ paulmck: Moved the declaration to include/linux/rcupdate.h to avoid
    including the RCU-internal rcu.h file outside of RCU. ]
    Signed-off-by: Paul E. McKenney
    Reviewed-by: Josh Triplett

    Paul Gortmaker
     
  • (Trivial patch.)

    If the code is looking at the RCU-protected pointer itself, but not
    dereferencing it, the rcu_dereference() functions can be downgraded
    to rcu_access_pointer(). This commit makes this downgrade in
    __blocking_notifier_call_chain() which simply compares the RCU-protected
    pointer against NULL with no dereferencing.

    Signed-off-by: Paul E. McKenney
    Cc: Andrew Morton
    Cc: Linus Torvalds
    Reviewed-by: Josh Triplett

    Paul E. McKenney
     

25 Feb, 2014

1 commit


18 Feb, 2014

18 commits

  • If CONFIG_RCU_NOCB_CPU_ALL=y, then no CPU will ever have RCU callbacks
    because these callbacks will instead be handled by the rcuo kthreads.
    However, the current version of RCU_FAST_NO_HZ nevertheless checks for RCU
    callbacks. This commit therefore creates static inline implementations
    of rcu_prepare_for_idle() and rcu_cleanup_after_idle() that are no-ops
    when CONFIG_RCU_NOCB_CPU_ALL=y.

    Signed-off-by: Paul E. McKenney
    Reviewed-by: Josh Triplett

    Paul E. McKenney
     
  • If CONFIG_RCU_NOCB_CPU_ALL=y, then rcu_needs_cpu() will always
    return false, however, the current version nevertheless checks
    for RCU callbacks. This commit therefore creates a static inline
    implementation of rcu_needs_cpu() that unconditionally returns false
    when CONFIG_RCU_NOCB_CPU_ALL=y.

    Signed-off-by: Paul E. McKenney
    Reviewed-by: Josh Triplett

    Paul E. McKenney
     
  • If CONFIG_RCU_NOCB_CPU_ALL=y, then rcu_is_nocb_cpu() will always
    return true, however, the current version nevertheless checks
    rcu_nocb_mask. This commit therefore creates a static inline
    implementation of rcu_is_nocb_cpu() that unconditionally returns
    true when CONFIG_RCU_NOCB_CPU_ALL=y.

    Signed-off-by: Paul E. McKenney
    Reviewed-by: Josh Triplett

    Paul E. McKenney
     
  • (Trivial patch.)

    If the code is looking at the RCU-protected pointer itself, but not
    dereferencing it, the rcu_dereference() functions can be downgraded to
    rcu_access_pointer(). This commit makes this downgrade in __alloc_fd(),
    which simply compares the RCU-protected pointer against NULL with no
    dereferencing.

    Signed-off-by: Paul E. McKenney
    Cc: Alexander Viro
    Cc: linux-fsdevel@vger.kernel.org
    Reviewed-by: Josh Triplett

    Paul E. McKenney
     
  • For better use of CPU idle time, allow the scheduler to select the CPU
    on which the SRCU grace period work would be scheduled. This improves
    idle residency time and conserves power.

    This functionality is enabled when CONFIG_WQ_POWER_EFFICIENT is selected.

    Cc: Lai Jiangshan
    Cc: "Paul E. McKenney"
    Cc: Dipankar Sarma
    Signed-off-by: Shaibal Dutta
    [zoran.markovic@linaro.org: Rebased to latest kernel version. Added commit
    message. Fixed code alignment.]
    Signed-off-by: Zoran Markovic
    Signed-off-by: Paul E. McKenney
    Reviewed-by: Josh Triplett

    Shaibal Dutta
     
  • This commit fixes a grammar issue in the rcu_nohz_full_cpu() comment
    header, so that it is clear that the plural is CPUs not Kconfig options.

    Signed-off-by: Paul Bolle
    Signed-off-by: Paul E. McKenney
    Reviewed-by: Josh Triplett

    Paul Bolle
     
  • The new smp_store_release() function provides better guarantees than did
    rcu_assign_pointer(), and potentially less overhead on some architectures.
    The guarantee that smp_store_release() provides that rcu_assign_pointer()
    does that is obscure, but its lack could cause considerable confusion.
    This guarantee is illustrated by the following code fragment:

    struct foo {
    int a;
    int b;
    int c;
    struct foo *next;
    };
    struct foo foo1;
    struct foo foo2;
    struct foo __rcu *foop;

    ...

    foo2.a = 1;
    foo2.b = 2;
    BUG_ON(foo2.c);
    rcu_assign_pointer(foop, &foo);

    ...

    fp = rcu_dereference(foop);
    fp.c = 3;

    The current rcu_assign_pointer() semantics permit the BUG_ON() to
    trigger because rcu_assign_pointer()'s smp_wmb() is not guaranteed to
    order prior reads against later writes. This commit therefore upgrades
    rcu_assign_pointer() from smp_wmb() to smp_store_release() to avoid this
    counter-intuitive outcome.

    Signed-off-by: Paul E. McKenney
    Reviewed-by: Josh Triplett

    Paul E. McKenney
     
  • This commit outdents expression-statement macros, thus repairing a few
    line-length complaints. Also fix some spacing errors called out by
    checkpatch.pl.

    Signed-off-by: Joe Perches
    Signed-off-by: Paul E. McKenney
    Reviewed-by: Josh Triplett

    Joe Perches
     
  • Split strings make it difficult to find the code that resulted in a
    given console message, so this commit glues split strings back together
    despite the resulting long lines.

    Signed-off-by: Joe Perches
    Signed-off-by: Paul E. McKenney
    Reviewed-by: Josh Triplett

    Joe Perches
     
  • Because jiffies is one of a very few variables marked "volatile", there
    is no need to use ACCESS_ONCE() when accessing it. This commit therefore
    removes the redundant ACCESS_ONCE() wrappers.

    Reported by: Eric Dumazet
    Signed-off-by: Paul E. McKenney
    Reviewed-by: Josh Triplett

    Paul E. McKenney
     
  • All of the RCU source files have the usual GPL header, which contains a
    long-obsolete postal address for FSF. To avoid the need to track the
    FSF office's movements, this commit substitutes the URL where GPL may
    be found.

    Reported-by: Greg KH
    Reported-by: Steven Rostedt
    Signed-off-by: Paul E. McKenney
    Reviewed-by: Josh Triplett

    Paul E. McKenney
     
  • The ->n_force_qs_lh field is accessed without the benefit of any
    synchronization, so this commit adds the needed ACCESS_ONCE() wrappers.
    Yes, increments to ->n_force_qs_lh can be lost, but contention should
    be low and the field is strictly statistical in nature, so this is not
    a problem.

    Signed-off-by: Paul E. McKenney
    Reviewed-by: Josh Triplett

    Paul E. McKenney
     
  • Some of the early history leaves out some citations and vice versa. This
    commit fixes these up.

    Signed-off-by: Paul E. McKenney
    Reviewed-by: Josh Triplett

    Paul E. McKenney
     
  • Current compilers can "speculate" stores in the case where both legs
    of the "if" statement start with identical stores. Because the stores
    are identical, the compiler knows that the store will unconditionally
    execute regardless of the "if" condition, and so the compiler is within
    its rights to hoist the store to precede the condition. Such hoisting
    destroys the control-dependency ordering. This ordering can be restored
    by placing a barrier() at the beginning of each leg of the "if" statement.
    This commit adds this requirement to the control-dependencies section.

    Signed-off-by: Paul E. McKenney

    Paul E. McKenney
     
  • This commit documents the ability to apply CPU affinity to WQ_SYSFS
    workqueues, thus offloading them from the desired worker CPUs.

    Signed-off-by: Paul E. McKenney
    Reviewed-by: Tejun Heo
    Acked-by: Frederic Weisbecker
    Reviewed-by: Lai Jiangshan
    Reviewed-by: Josh Triplett

    Paul E. McKenney
     
  • A control dependency consists of a load, a conditional that depends on
    that load, and a store. This commit emphasizes this point in the
    summary.

    Signed-off-by: Paul E. McKenney
    Reviewed-by: Josh Triplett

    Paul E. McKenney
     
  • The ACCESS_ONCE() primitive provides cache coherence, but the
    documentation does not clearly state this. This commit therefore upgrades
    the documentation.

    Signed-off-by: Paul E. McKenney
    Reviewed-by: Josh Triplett

    Paul E. McKenney
     
  • The call_rcu() family of primitives will take action to accelerate
    grace periods when the number of callbacks pending on a given CPU
    becomes excessive. Although this safety mechanism can be useful,
    it is no substitute for users of call_rcu() having rate-limit controls
    in place. This commit adds this nuance to the documentation.

    Reported-by: "Michael S. Tsirkin"
    Reported-by: Gleb Natapov
    Signed-off-by: Paul E. McKenney
    Reviewed-by: Josh Triplett

    Paul E. McKenney
     

17 Feb, 2014

3 commits

  • Linus Torvalds
     
  • Pull btrfs fixes from Chris Mason:
    "We have a small collection of fixes in my for-linus branch.

    The big thing that stands out is a revert of a new ioctl. Users
    haven't shipped yet in btrfs-progs, and Dave Sterba found a better way
    to export the information"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    Btrfs: use right clone root offset for compressed extents
    btrfs: fix null pointer deference at btrfs_sysfs_add_one+0x105
    Btrfs: unset DCACHE_DISCONNECTED when mounting default subvol
    Btrfs: fix max_inline mount option
    Btrfs: fix a lockdep warning when cleaning up aborted transaction
    Revert "btrfs: add ioctl to export size of global metadata reservation"

    Linus Torvalds
     
  • Pull devicetree fixes from Rob Herring:
    "Fix booting on PPC boards. Changes to of_match_node matching caused
    the serial port on some PPC boards to stop working. Reverted the
    change and reimplement to split matching between new style compatible
    only matching and fallback to old matching algorithm"

    * tag 'dt-fixes-for-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
    of: search the best compatible match first in __of_match_node()
    Revert "OF: base: match each node compatible against all given matches first"

    Linus Torvalds
     

16 Feb, 2014

12 commits

  • Currently, of_match_node compares each given match against all node's
    compatible strings with of_device_is_compatible.

    To achieve multiple compatible strings per node with ordering from
    specific to generic, this requires given matches to be ordered from
    specific to generic. For most of the drivers this is not true and also
    an alphabetical ordering is more sane there.

    Therefore, this patch introduces a function to match each of the node's
    compatible strings against all given compatible matches without type and
    name first, before checking the next compatible string. This implies
    that node's compatibles are ordered from specific to generic while
    given matches can be in any order. If we fail to find such a match
    entry, then fall-back to the old method in order to keep compatibility.

    Cc: Sebastian Hesselbarth
    Signed-off-by: Kevin Hao
    Tested-by: Stephen Chivers
    Signed-off-by: Rob Herring

    Kevin Hao
     
  • Pull SCSI target fixes from Nicholas Bellinger:
    "Mostly minor fixes this time to v3.14-rc1 related changes. Also
    included is one fix for a free after use regression in persistent
    reservations UNREGISTER logic that is CC'ed to >= v3.11.y stable"

    * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
    Target/sbc: Fix protection copy routine
    IB/srpt: replace strict_strtoul() with kstrtoul()
    target: Simplify command completion by removing CMD_T_FAILED flag
    iser-target: Fix leak on failure in isert_conn_create_fastreg_pool
    iscsi-target: Fix SNACK Type 1 + BegRun=0 handling
    target: Fix missing length check in spc_emulate_evpd_83()
    qla2xxx: Remove last vestiges of qla_tgt_cmd.cmd_list
    target: Fix 32-bit + CONFIG_LBDAF=n link error w/ sector_div
    target: Fix free-after-use regression in PR unregister

    Linus Torvalds
     
  • Pull i2c fixes from Wolfram Sang:
    "i2c has a bugfix and documentation improvements for you"

    * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    Documentation: i2c: mention ACPI method for instantiating devices
    Documentation: i2c: describe devicetree method for instantiating devices
    i2c: mv64xxx: refactor message start to ensure proper initialization

    Linus Torvalds
     
  • …el.org/pub/scm/linux/kernel/git/tip/tip

    Pull irq update from Thomas Gleixner:
    "Fix from the urgent branch: a trivial oneliner adding the missing
    Kconfig dependency curing build failures which have been discovered by
    several build robots.

    The update in the irq-core branch provides a new function in the
    irq/devres code, which is a prerequisite for driver developers to get
    rid of boilerplate code all over the place.

    Not a bugfix, but it has zero impact on the current kernel due to the
    lack of users. It's simpler to provide the infrastructure to
    interested parties via your tree than fulfilling the wishlist of
    driver maintainers on which particular commit or tag this should be
    based on"

    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    genirq: Add missing irq_to_desc export for CONFIG_SPARSE_IRQ=n

    * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    genirq: Add devm_request_any_context_irq()

    Linus Torvalds
     
  • Pull timer fixes from Thomas Gleixner:
    "The following trilogy of patches brings you:

    - fix for a long standing math overflow issue with HZ < 60

    - an onliner fix for a corner case in the dreaded tick broadcast
    mechanism affecting a certain range of AMD machines which are
    infested with the infamous automagic C1E power control misfeature

    - a fix for one of the ARM platforms which allows the kernel to
    proceed and boot instead of stupidly panicing for no good reason.
    The patch is slightly larger than necessary, but it's less ugly
    than the alternative 5 liner"

    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    tick: Clear broadcast pending bit when switching to oneshot
    clocksource: Kona: Print warning rather than panic
    time: Fix overflow when HZ is smaller than 60

    Linus Torvalds
     
  • …it/rostedt/linux-trace

    Pull twi tracing fixes from Steven Rostedt:
    "Two urgent fixes in the tracing utility.

    The first is a fix for the way the ring buffer stores timestamps.
    After a restructure of the code was done, the ring buffer timestamp
    logic missed the fact that the first event on a sub buffer is to have
    a zero delta, as the full timestamp is stored on the sub buffer
    itself. But because the delta was not cleared to zero, the timestamp
    for that event will be calculated as the real timestamp + the delta
    from the last timestamp. This can skew the timestamps of the events
    and have them say they happened when they didn't really happen.
    That's bad.

    The second fix is for modifying the function graph caller site. When
    the stop machine was removed from updating the function tracing code,
    it missed updating the function graph call site location. It is still
    modified as if it is being done via stop machine. But it's not. This
    can lead to a GPF and kernel crash if the function graph call site
    happens to lie between cache lines and one CPU is executing it while
    another CPU is doing the update. It would be a very hard condition to
    hit, but the result is severe enough to have it fixed ASAP"

    * tag 'trace-fixes-v3.14-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    ftrace/x86: Use breakpoints for converting function graph caller
    ring-buffer: Fix first commit on sub-buffer having non-zero delta

    Linus Torvalds
     
  • Pull x86 EFI fixes from Peter Anvin:
    "A few more EFI-related fixes"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/efi: Check status field to validate BGRT header
    x86/efi: Fix 32-bit fallout

    Linus Torvalds
     
  • Pull ARM SoC fixes from Kevin Hilman:
    "A collection of ARM SoC fixes for v3.14-rc1.

    Mostly a collection of Kconfig, device tree data and compilation fixes
    along with fix to drivers/phy that fixes a boot regression on some
    Marvell mvebu platforms"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    dma: mv_xor: Silence a bunch of LPAE-related warnings
    ARM: ux500: disable msp2 device tree node
    ARM: zynq: Reserve not DMAable space in front of the kernel
    ARM: multi_v7_defconfig: Select CONFIG_SOC_DRA7XX
    ARM: imx6: Initialize low-power mode early again
    ARM: pxa: fix various compilation problems
    ARM: pxa: fix compilation problem on AM300EPD board
    ARM: at91: add Atmel's SAMA5D3 Xplained board
    spi/atmel: document clock properties
    mmc: atmel-mci: document clock properties
    ARM: at91: enable USB host on at91sam9n12ek board
    ARM: at91/dt: fix sama5d3 ohci hclk clock reference
    ARM: at91/dt: sam9263: fix compatibility string for the I2C
    ata: sata_mv: Fix probe failures with optional phys
    drivers: phy: Add support for optional phys
    drivers: phy: Make NULL a valid phy reference
    ARM: fix HAVE_ARM_TWD selection for OMAP and shmobile
    ARM: moxart: move DMA_OF selection to driver
    ARM: hisi: fix kconfig warning on HAVE_ARM_TWD

    Linus Torvalds
     
  • Signed-off-by: Wolfram Sang
    Acked-by: Guenter Roeck

    Wolfram Sang
     
  • Signed-off-by: Wolfram Sang

    Wolfram Sang
     
  • For non compressed extents, iterate_extent_inodes() gives us offsets
    that take into account the data offset from the file extent items, while
    for compressed extents it doesn't. Therefore we have to adjust them before
    placing them in a send clone instruction. Not doing this adjustment leads to
    the receiving end requesting for a wrong a file range to the clone ioctl,
    which results in different file content from the one in the original send
    root.

    Issue reproducible with the following excerpt from the test I made for
    xfstests:

    _scratch_mkfs
    _scratch_mount "-o compress-force=lzo"

    $XFS_IO_PROG -f -c "truncate 118811" $SCRATCH_MNT/foo
    $XFS_IO_PROG -c "pwrite -S 0x0d -b 39987 92267 39987" $SCRATCH_MNT/foo

    $BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1

    $XFS_IO_PROG -c "pwrite -S 0x3e -b 80000 200000 80000" $SCRATCH_MNT/foo
    $BTRFS_UTIL_PROG filesystem sync $SCRATCH_MNT
    $XFS_IO_PROG -c "pwrite -S 0xdc -b 10000 250000 10000" $SCRATCH_MNT/foo
    $XFS_IO_PROG -c "pwrite -S 0xff -b 10000 300000 10000" $SCRATCH_MNT/foo

    # will be used for incremental send to be able to issue clone operations
    $BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/clones_snap

    $BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2

    $FSSUM_PROG -A -f -w $tmp/1.fssum $SCRATCH_MNT/mysnap1
    $FSSUM_PROG -A -f -w $tmp/2.fssum -x $SCRATCH_MNT/mysnap2/mysnap1 \
    -x $SCRATCH_MNT/mysnap2/clones_snap $SCRATCH_MNT/mysnap2
    $FSSUM_PROG -A -f -w $tmp/clones.fssum $SCRATCH_MNT/clones_snap \
    -x $SCRATCH_MNT/clones_snap/mysnap1 -x $SCRATCH_MNT/clones_snap/mysnap2

    $BTRFS_UTIL_PROG send $SCRATCH_MNT/mysnap1 -f $tmp/1.snap
    $BTRFS_UTIL_PROG send $SCRATCH_MNT/clones_snap -f $tmp/clones.snap
    $BTRFS_UTIL_PROG send -p $SCRATCH_MNT/mysnap1 \
    -c $SCRATCH_MNT/clones_snap $SCRATCH_MNT/mysnap2 -f $tmp/2.snap

    _scratch_unmount
    _scratch_mkfs
    _scratch_mount

    $BTRFS_UTIL_PROG receive $SCRATCH_MNT -f $tmp/1.snap
    $FSSUM_PROG -r $tmp/1.fssum $SCRATCH_MNT/mysnap1 2>> $seqres.full

    $BTRFS_UTIL_PROG receive $SCRATCH_MNT -f $tmp/clones.snap
    $FSSUM_PROG -r $tmp/clones.fssum $SCRATCH_MNT/clones_snap 2>> $seqres.full

    $BTRFS_UTIL_PROG receive $SCRATCH_MNT -f $tmp/2.snap
    $FSSUM_PROG -r $tmp/2.fssum $SCRATCH_MNT/mysnap2 2>> $seqres.full

    Signed-off-by: Filipe David Borba Manana
    Signed-off-by: Chris Mason

    Filipe David Borba Manana
     
  • bdev is null when disk has disappeared and mounted with
    the degrade option

    stack trace
    ---------
    btrfs_sysfs_add_one+0x105/0x1c0 [btrfs]
    open_ctree+0x15f3/0x1fe0 [btrfs]
    btrfs_mount+0x5db/0x790 [btrfs]
    ? alloc_pages_current+0xa4/0x160
    mount_fs+0x34/0x1b0
    vfs_kern_mount+0x62/0xf0
    do_mount+0x22e/0xa80
    ? __get_free_pages+0x9/0x40
    ? copy_mount_options+0x31/0x170
    SyS_mount+0x7e/0xc0
    system_call_fastpath+0x16/0x1b
    ---------

    reproducer:
    -------
    mkfs.btrfs -draid1 -mraid1 /dev/sdc /dev/sdd
    (detach a disk)
    devmgt detach /dev/sdc [1]
    mount -o degrade /dev/sdd /btrfs
    -------

    [1] github.com/anajain/devmgt.git

    Signed-off-by: Anand Jain
    Tested-by: Hidetoshi Seto
    Signed-off-by: Chris Mason

    Anand Jain
     

15 Feb, 2014

2 commits

  • Because the offload mechanism can fall back to a standard transfer,
    having two seperate initialization states is unfortunate. Let's just
    have one state which does things consistently. This fixes a bug where
    some preparation was missing when the fallback happened. And it makes
    the code much easier to follow. To implement this, we put the check
    if offload is possible at the top of the offload setup function.

    Signed-off-by: Wolfram Sang
    Tested-by: Gregory CLEMENT
    Cc: stable@vger.kernel.org # v3.12+
    Fixes: 930ab3d403ae (i2c: mv64xxx: Add I2C Transaction Generator support)

    Wolfram Sang
     
  • Pull USB fixes from Greg KH:
    "Here is a bunch of USB fixes for 3.14-rc3. Most of these are xhci
    reverts, fixing a bunch of reported issues with USB 3 host controller
    issues that loads of people have been hitting (with the exception of
    kernel developers, all of our machines seem to be working fine, which
    is why these took so long to get resolved...)

    There are some other minor fixes and new device ids, as ususal. All
    have been in linux-next successfully"

    * tag 'usb-3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (22 commits)
    usb: option: blacklist ZTE MF667 net interface
    Revert "usb: xhci: Link TRB must not occur within a USB payload burst"
    Revert "xhci: Avoid infinite loop when sg urb requires too many trbs"
    Revert "xhci: Set scatter-gather limit to avoid failed block writes."
    xhci 1.0: Limit arbitrarily-aligned scatter gather.
    Modpost: fixed USB alias generation for ranges including 0x9 and 0xA
    usb: core: Fix potential memory leak adding dyn USBdevice IDs
    USB: ftdi_sio: add Tagsys RFID Reader IDs
    usb: qcserial: add Netgear Aircard 340U
    usb-storage: enable multi-LUN scanning when needed
    USB: simple: add Dynastream ANT USB-m Stick device support
    usb-storage: add unusual-devs entry for BlackBerry 9000
    usb-storage: restrict bcdDevice range for Super Top in Cypress ATACB
    usb: phy: move some error messages to debug
    usb: ftdi_sio: add Mindstorms EV3 console adapter
    usb: dwc2: fix memory corruption in dwc2 driver
    usb: dwc2: fix role switch breakage
    usb: dwc2: bail out early when booting with "nousb"
    Revert "xhci: replace xhci_read_64() with readq()"
    Revert "xhci: replace xhci_write_64() with writeq()"
    ...

    Linus Torvalds