22 Feb, 2014

1 commit

  • This fixes bug introduced in 667a6b7a (regulator: max14577: Add missing
    of_node_put). The DTS parsing function returned number of matched
    regulators as success status which then was compared against 0 in probe.

    Result was a probe fail after successful parsing the DTS:
    max14577-regulator: probe of max14577-regulator failed with error 2

    Signed-off-by: Krzysztof Kozlowski
    Reviwed-by: Sachin Kamat
    Signed-off-by: Mark Brown

    Krzysztof Kozlowski
     

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

24 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
     
  • Pull tty/serial driver fixes from Greg KH:
    "Here are a small number of tty/serial driver fixes to resolve reported
    issues with 3.14-rc and earlier (in the case of the vt bugfix). Some
    of these have been tested and reported by a number of people as the
    tty bugfix was pretty commonly hit on some platforms.

    All have been in linux-next for a while"

    * tag 'tty-3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
    vt: Fix secure clear screen
    serial: 8250: Support XR17V35x fraction divisor
    n_tty: Fix stale echo output
    serial: sirf: fix kernel panic caused by unpaired spinlock
    serial: 8250_pci: unbreak last serial ports on NetMos 9865 cards
    n_tty: Fix poll() when TIME_CHAR and MIN_CHAR == 0
    serial: omap: fix rs485 probe on defered pinctrl
    serial: 8250_dw: fix compilation warning when !CONFIG_PM_SLEEP
    serial: omap-serial: Move info message to probe function
    tty: Set correct tty name in 'active' sysfs attribute
    tty: n_gsm: Fix for modems with brk in modem status control
    drivers/tty/hvc: don't use module_init in non-modular hyp. console code

    Linus Torvalds
     
  • Pull staging driver fixes from Greg KH:
    "Here are a number (lots, I know) of fixes for staging drivers to
    resolve a bunch of reported issues.

    The largest patches here is one revert of a patch that is in 3.14-rc1
    to fix reported problems, and a sync of a usb host driver that
    required some ARM patches to go in before it could be accepted (which
    is why it missed -rc1)

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'staging-3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (56 commits)
    staging/rtl8821ae: fix build, depends on MAC80211
    iio: max1363: Use devm_regulator_get_optional for optional regulator
    iio:accel:bma180: Use modifier instead of index in channel specification
    iio: adis16400: Set timestamp as the last element in chan_spec
    iio: ak8975: Fix calculation formula for convert micro tesla to gauss unit
    staging:iio:ad799x fix typo in ad799x_events[]
    iio: mxs-lradc: remove useless scale_available files
    iio: mxs-lradc: fix buffer overflow
    iio:magnetometer:mag3110: Fix output of decimal digits in show_int_plus_micros()
    iio:magnetometer:mag3110: Report busy in _read_raw() / write_raw() when buffer is enabled
    wlags49_h2: Fix overflow in wireless_set_essid()
    xlr_net: Fix missing trivial allocation check
    staging: r8188eu: overflow in rtw_p2p_get_go_device_address()
    staging: r8188eu: array overflow in rtw_mp_ioctl_hdl()
    staging: r8188eu: Fix typo in USB_DEVICE list
    usbip/userspace/libsrc/names.c: memory leak
    gpu: ion: dereferencing an ERR_PTR
    staging: comedi: usbduxsigma: fix unaligned dereferences
    staging: comedi: fix too early cleanup in comedi_auto_config()
    staging: android: ion: dummy: fix an error code
    ...

    Linus Torvalds
     
  • Pull driver core fix from Greg KH:
    "Here is a single driver core patch for 3.14-rc3 for the component code
    that Russell has found and fixed"

    * tag 'driver-core-3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
    drivers/base: fix devres handling for master device

    Linus Torvalds
     
  • Pull char/misc fixes from Greg KH:
    "Here are some small char/misc driver fixes, along with some
    documentation updates, for 3.14-rc3. Nothing major, just a number of
    fixes for reported issues"

    * tag 'char-misc-3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    Revert "misc: eeprom: sunxi: Add new compatibles"
    Revert "ARM: sunxi: dt: Convert to the new SID compatibles"
    misc: mic: fix possible signed underflow (undefined behavior) in userspace API
    ARM: sunxi: dt: Convert to the new SID compatibles
    misc: eeprom: sunxi: Add new compatibles
    misc: genwqe: Fix potential memory leak when pinning memory
    Documentation:Update Documentation/zh_CN/arm64/memory.txt
    Documentation:Update Documentation/zh_CN/arm64/booting.txt
    Documentation:Chinese translation of Documentation/arm64/tagged-pointers.txt
    raw: set range for MAX_RAW_DEVS
    raw: test against runtime value of max_raw_minors
    Drivers: hv: vmbus: Don't timeout during the initial connection with host
    Drivers: hv: vmbus: Specify the target CPU that should receive notification
    VME: Correct read/write alignment algorithm
    mei: don't unset read cb ptr on reset
    mei: clear write cb from waiting list on reset

    Linus Torvalds
     
  • A user was running into errors from an NFS export of a subvolume that had a
    default subvol set. When we mount a default subvol we will use d_obtain_alias()
    to find an existing dentry for the subvolume in the case that the root subvol
    has already been mounted, or a dummy one is allocated in the case that the root
    subvol has not already been mounted. This allows us to connect the dentry later
    on if we wander into the path. However if we don't ever wander into the path we
    will keep DCACHE_DISCONNECTED set for a long time, which angers NFS. It doesn't
    appear to cause any problems but it is annoying nonetheless, so simply unset
    DCACHE_DISCONNECTED in the get_default_root case and switch btrfs_lookup() to
    use d_materialise_unique() instead which will make everything play nicely
    together and reconnect stuff if we wander into the defaul subvol path from a
    different way. With this patch I'm no longer getting the NFS errors when
    exporting a volume that has been mounted with a default subvol set. Thanks,

    cc: bfields@fieldses.org
    cc: ebiederm@xmission.com
    Signed-off-by: Josef Bacik
    Acked-by: "Eric W. Biederman"
    Signed-off-by: Chris Mason

    Josef Bacik
     
  • Currently, the only mount option for max_inline that has any effect is
    max_inline=0. Any other value that is supplied to max_inline will be
    adjusted to a minimum of 4k. Since max_inline has an effective maximum
    of ~3900 bytes due to page size limitations, the current behaviour
    only has meaning for max_inline=0.

    This patch will allow the the max_inline mount option to accept non-zero
    values as indicated in the documentation.

    Signed-off-by: Mitch Harder
    Signed-off-by: Chris Mason

    Mitch Harder
     
  • Given now we have 2 spinlock for management of delayed refs,
    CONFIG_DEBUG_SPINLOCK=y helped me find this,

    [ 4723.413809] BUG: spinlock wrong CPU on CPU#1, btrfs-transacti/2258
    [ 4723.414882] lock: 0xffff880048377670, .magic: dead4ead, .owner: btrfs-transacti/2258, .owner_cpu: 2
    [ 4723.417146] CPU: 1 PID: 2258 Comm: btrfs-transacti Tainted: G W O 3.12.0+ #4
    [ 4723.421321] Call Trace:
    [ 4723.421872] [] dump_stack+0x54/0x74
    [ 4723.422753] [] spin_dump+0x8c/0x91
    [ 4723.424979] [] spin_bug+0x21/0x26
    [ 4723.425846] [] do_raw_spin_unlock+0x66/0x90
    [ 4723.434424] [] _raw_spin_unlock+0x27/0x40
    [ 4723.438747] [] btrfs_cleanup_one_transaction+0x35e/0x710 [btrfs]
    [ 4723.443321] [] btrfs_cleanup_transaction+0x104/0x570 [btrfs]
    [ 4723.444692] [] ? trace_hardirqs_on_caller+0xfd/0x1c0
    [ 4723.450336] [] ? trace_hardirqs_on+0xd/0x10
    [ 4723.451332] [] transaction_kthread+0x22e/0x270 [btrfs]
    [ 4723.452543] [] ? btrfs_cleanup_transaction+0x570/0x570 [btrfs]
    [ 4723.457833] [] kthread+0xea/0xf0
    [ 4723.458990] [] ? kthread_create_on_node+0x140/0x140
    [ 4723.460133] [] ret_from_fork+0x7c/0xb0
    [ 4723.460865] [] ? kthread_create_on_node+0x140/0x140
    [ 4723.496521] ------------[ cut here ]------------

    ----------------------------------------------------------------------

    The reason is that we get to call cond_resched_lock(&head_ref->lock) while
    still holding @delayed_refs->lock.

    So it's different with __btrfs_run_delayed_refs(), where we do drop-acquire
    dance before and after actually processing delayed refs.

    Here we don't drop the lock, others are not able to add new delayed refs to
    head_ref, so cond_resched_lock(&head_ref->lock) is not necessary here.

    Signed-off-by: Liu Bo
    Signed-off-by: Chris Mason

    Liu Bo
     
  • This reverts commit 01e219e8069516cdb98594d417b8bb8d906ed30d.

    David Sterba found a different way to provide these features without adding a new
    ioctl. We haven't released any progs with this ioctl yet, so I'm taking this out
    for now until we finalize things.

    Signed-off-by: Chris Mason
    Signed-off-by: David Sterba
    CC: Jeff Mahoney

    Chris Mason
     
  • Pull two nfsd bugfixes from Bruce Fields.

    * 'for-3.14' of git://linux-nfs.org/~bfields/linux:
    lockd: send correct lock when granting a delayed lock.
    nfsd4: fix acl buffer overrun

    Linus Torvalds
     
  • Pull md fixes from Neil Brown:
    "Two bugfixes for md

    both tagged for -stable"

    * tag 'md/3.14-fixes' of git://neil.brown.name/md:
    md/raid5: Fix CPU hotplug callback registration
    md/raid1: restore ability for check and repair to fix read errors.

    Linus Torvalds
     
  • This reverts commit 105353145eafb3ea919f5cdeb652a9d8f270228e.
    Stephen Chivers reported this is broken as we will get a match
    entry '.type = "serial"' instead of the '.compatible = "ns16550"'
    in the following scenario:
    serial0: serial@4500 {
    compatible = "fsl,ns16550", "ns16550";
    }

    struct of_device_id of_platform_serial_table[] = {
    { .compatible = "ns8250", .data = (void *)PORT_8250, },
    { .compatible = "ns16450", .data = (void *)PORT_16450, },
    { .compatible = "ns16550a", .data = (void *)PORT_16550A, },
    { .compatible = "ns16550", .data = (void *)PORT_16550, },
    { .compatible = "ns16750", .data = (void *)PORT_16750, },
    { .compatible = "ns16850", .data = (void *)PORT_16850, },
    ...
    { .type = "serial", .data = (void *)PORT_UNKNOWN, },
    { /* end of list */ },
    };

    So just revert this patch, we will use another implementation to find
    the best compatible match in a follow-on patch.

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

    Kevin Hao
     
  • This reverts commit f0de8e04a7201a2000f3c6d09732c11e7f35d42d, it is
    incorrect, a future patch will fix this up properly.

    Cc: Maxime Ripard
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This reverts commit 01ab1167cd2d861d20195eda08505652c536df97, it is
    incorrect, a future patch will fix this up properly.

    Cc: Maxime Ripard
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • There have been reports of EFI crashes since -rc1. The following two
    commits fix known issues.

    * Fix boot failure on 32-bit EFI due to the recent EFI memmap changes
    merged during the merge window - Borislav Petkov

    * Avoid a crash during efi_bgrt_init() by detecting invalid BGRT
    headers based on the 'status' field.

    Signed-off-by: H. Peter Anvin

    H. Peter Anvin
     
  • Pull KVM fixes from Paolo Bonzini:
    "A small error handling problem and a compile breakage for ARM64"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    arm64: KVM: Add VGIC device control for arm64
    KVM: return an error code in kvm_vm_ioctl_register_coalesced_mmio()

    Linus Torvalds
     
  • Pull x86 fixes from Peter Anvin:
    "A collection of small fixes:

    - There still seem to be problems with asm goto which requires the
    empty asm hack.
    - If SMAP is disabled at compile time, don't enable it nor try to
    interpret a page fault as an SMAP violation.
    - Fix a case of unbounded recursion while tracing"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, smap: smap_violation() is bogus if CONFIG_X86_SMAP is off
    x86, smap: Don't enable SMAP if CONFIG_X86_SMAP is disabled
    compiler/gcc4: Make quirk for asm_volatile_goto() unconditional
    x86: Use preempt_disable_notrace() in cycles_2_ns()

    Linus Torvalds
     
  • Pull ACPI and power management fixes from Rafael Wysocki:
    "These include a fix for a recent intel_pstate regression, a fix for a
    regression in the ACPI-based PCI hotplug (ACPIPHP) code introduced
    during the 3.12 cycle, fixes for two bugs in the ACPI core introduced
    recently and a MAINTAINERS update related to cpufreq.

    Specifics:

    - Fix for a recent regression in the intel_pstate driver that
    introduced a race condition causing systems to crash during
    initialization in some situations. This removes the affected code
    altogether. From Dirk Brandewie.

    - ACPIPHP fix for a regression introduced during the 3.12 cycle
    causing devices to be dropped as a result of bus check
    notifications after system resume on some systems due to the way
    ACPIPHP interprets _STA return values (arguably incorrectly). From
    Mika Westerberg.

    - ACPI dock driver fix for a problem causing docking to fail due to a
    check that always fails after recent ACPI core changes (found by
    code inspection).

    - ACPI container driver fix to prevent memory from being leaked in an
    error code path after device_register() failures.

    - Update of the arm_big_little cpufreq driver maintainer's e-mail
    address"

    * tag 'pm+acpi-3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    MAINTAINERS / cpufreq: update Sudeep's email address
    intel_pstate: Remove energy reporting from pstate_sample tracepoint
    ACPI / container: Fix error code path in container_device_attach()
    ACPI / hotplug / PCI: Relax the checking of _STA return values
    ACPI / dock: Use acpi_device_enumerated() to check if dock is present

    Linus Torvalds
     
  • Pull EDAC fixes from Borislav Petkov:
    "Fix polling timeout setting through sysfs.

    You're surely wondering why the patches are not based on an rc. Well,
    Andrew sent you 79040cad3f82 ("drivers/edac/edac_mc_sysfs.c: poll
    timeout cannot be zero sent you") already (it got in in -rc2) but it
    is not enough as a fix because for one, setting too low polling
    intervals (< 1sec) don't make any sense and cause unnecessary polling
    load on the system.

    Then, even if we set some interval, we explode with

    [ 4143.094342] WARNING: CPU: 1 PID: 0 at kernel/workqueue.c:1393 __queue_work+0x1d7/0x340()

    because the workqueue setup path is used also for the timeout period
    resetting and we're doing INIT_DELAYED_WORK() on an already active
    workqueue. Which is total bollocks. So this is taken care of by the
    second patch.

    I've CCed stable for those two"

    * tag 'edac_for_3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
    EDAC: Correct workqueue setup path
    EDAC: Poll timeout cannot be zero, p2

    Linus Torvalds
     
  • Pull fbdev fixes from Tomi Valkeinen:
    "Minor fbdev fixes for 3.14"

    * tag 'fbdev-fixes-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux:
    video: Kconfig: Allow more broad selection of the imxfb framebuffer driver.
    video: exynos: Fix S6E8AX0 LCD driver build error
    OMAPDSS: fix fck field types
    OMAPDSS: DISPC: decimation rounding fix

    Linus Torvalds
     
  • Pull block IO fixes from Jens Axboe:
    "Second round of updates and fixes for 3.14-rc2. Most of this stuff
    has been queued up for a while. The notable exception is the blk-mq
    changes, which are naturally a bit more in flux still.

    The pull request contains:

    - Two bug fixes for the new immutable vecs, causing crashes with raid
    or swap. From Kent.

    - Various blk-mq tweaks and fixes from Christoph. A fix for
    integrity bio's from Nic.

    - A few bcache fixes from Kent and Darrick Wong.

    - xen-blk{front,back} fixes from David Vrabel, Matt Rushton, Nicolas
    Swenson, and Roger Pau Monne.

    - Fix for a vec miscount with integrity vectors from Martin.

    - Minor annotations or fixes from Masanari Iida and Rashika Kheria.

    - Tweak to null_blk to do more normal FIFO processing of requests
    from Shlomo Pongratz.

    - Elevator switching bypass fix from Tejun.

    - Softlockup in blkdev_issue_discard() fix when !CONFIG_PREEMPT from
    me"

    * 'for-linus' of git://git.kernel.dk/linux-block: (31 commits)
    block: add cond_resched() to potentially long running ioctl discard loop
    xen-blkback: init persistent_purge_work work_struct
    blk-mq: pair blk_mq_start_request / blk_mq_requeue_request
    blk-mq: dont assume rq->errors is set when returning an error from ->queue_rq
    block: Fix cloning of discard/write same bios
    block: Fix type mismatch in ssize_t_blk_mq_tag_sysfs_show
    blk-mq: rework flush sequencing logic
    null_blk: use blk_complete_request and blk_mq_complete_request
    virtio_blk: use blk_mq_complete_request
    blk-mq: rework I/O completions
    fs: Add prototype declaration to appropriate header file include/linux/bio.h
    fs: Mark function as static in fs/bio-integrity.c
    block/null_blk: Fix completion processing from LIFO to FIFO
    block: Explicitly handle discard/write same segments
    block: Fix nr_vecs for inline integrity vectors
    blk-mq: Add bio_integrity setup to blk_mq_make_request
    blk-mq: initialize sg_reserved_size
    blk-mq: handle dma_drain_size
    blk-mq: divert __blk_put_request for MQ ops
    blk-mq: support at_head inserations for blk_execute_rq
    ...

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "Again only fixes for HD-audio:
    - regression fixes due to the modularization
    - a few fixups for Dell, Sony and HP laptops
    - a revert of the previous fix as it leads to another regression"

    * tag 'sound-3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: Revert "ALSA: hda/realtek - Avoid invalid COEFs for ALC271X"
    ALSA: hda - Fix undefined symbol due to builtin/module mixup
    ALSA: hda - Fix mic capture on Sony VAIO Pro 11
    ALSA: hda - Add a headset quirk for Dell XPS 13
    ALSA: hda - Fix inconsistent Mic mute LED
    ALSA: hda - Fix leftover ifdef checks after modularization

    Linus Torvalds
     
  • Pull RDMA/InfiniBand fixes from Roland Dreier:

    - Fix some rough edges from the "IP addressing for IBoE" merge

    - Other misc fixes, mostly to hardware drivers

    * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (21 commits)
    RDMA/ocrdma: Fix load time panic during GID table init
    RDMA/ocrdma: Fix traffic class shift
    IB/iser: Fix use after free in iser_snd_completion()
    IB/iser: Avoid dereferencing iscsi_iser conn object when not bound to iser connection
    IB/usnic: Fix smatch endianness error
    IB/mlx5: Remove dependency on X86
    mlx5: Add include of because of kzalloc()/kfree() use
    IB/qib: Add missing serdes init sequence
    RDMA/cxgb4: Add missing neigh_release in LE-Workaround path
    IB: Report using RoCE IP based gids in port caps
    IB/mlx4: Build the port IBoE GID table properly under bonding
    IB/mlx4: Do IBoE GID table resets per-port
    IB/mlx4: Do IBoE locking earlier when initializing the GID table
    IB/mlx4: Move rtnl locking to the right place
    IB/mlx4: Make sure GID index 0 is always occupied
    IB/mlx4: Don't allocate range of steerable UD QPs for Ethernet-only device
    RDMA/amso1100: Fix error return code
    RDMA/nes: Fix error return code
    IB/mlx5: Don't set "block multicast loopback" capability
    IB/mlx5: Fix binary compatibility with libmlx5
    ...

    Linus Torvalds