27 Sep, 2014

1 commit

  • The third argument of fuse_get_user_pages() "nbytesp" refers to the number of
    bytes a caller asked to pack into fuse request. This value may be lesser
    than capacity of fuse request or iov_iter. So fuse_get_user_pages() must
    ensure that *nbytesp won't grow.

    Now, when helper iov_iter_get_pages() performs all hard work of extracting
    pages from iov_iter, it can be done by passing properly calculated
    "maxsize" to the helper.

    The other caller of iov_iter_get_pages() (dio_refill_pages()) doesn't need
    this capability, so pass LONG_MAX as the maxsize argument here.

    Fixes: c9c37e2e6378 ("fuse: switch to iov_iter_get_pages()")
    Reported-by: Werner Baumann
    Tested-by: Maxim Patlasov
    Signed-off-by: Miklos Szeredi
    Signed-off-by: Al Viro

    Miklos Szeredi
     

21 Sep, 2014

2 commits

  • Pull staging / IIO fixes from Greg KH:
    "Here are some IIO and Staging driver fixes for 3.17-rc6. They are all
    pretty simple, and resolve reported issues"

    * tag 'staging-3.17-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
    staging: vt6655: buffer overflow in ioctl
    iio:magnetometer: bugfix magnetometers gain values
    iio: adc: at91: don't use the last converted data register
    iio: adc: xilinx-xadc: assign auxiliary channels address correctly
    iio: meter: ade7758: Fix indio_dev->trig assignment
    iio: inv_mpu6050: Fix indio_dev->trig assignment
    iio: gyro: itg3200: Fix indio_dev->trig assignment
    iio: st_sensors: Fix indio_dev->trig assignment
    iio: hid_sensor_hub: Fix indio_dev->trig assignment
    iio: adc: ad_sigma_delta: Fix indio_dev->trig assignment
    iio: accel: bma180: Fix indio_dev->trig assignment
    iio:trigger: modify return value for iio_trigger_get
    iio:inkern: fix overwritten -EPROBE_DEFER in of_iio_channel_get_by_name

    Linus Torvalds
     
  • Pull drm fixes from Dave Airlie:
    "A bunch of radeon fixes for oops on module unload, and problems with
    resetting the dma engine, one nouveau fix for black boxes in rendering
    on my mbp retina, one sti fix, and a couple of intel fixes"

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/nouveau: ltc/gf100-: fix cbc issues on certain boards
    drm/bochs: add missing drm_connector_register call
    drm/cirrus: add missing drm_connector_register call
    drm/radeon: Fix typo 'addr' -> 'entry' in rs400_gart_set_page
    drm/nouveau/runpm: fix module unload
    drm/radeon/px: fix module unload
    vgaswitcheroo: add vga_switcheroo_fini_domain_pm_ops
    drm/radeon: don't reset dma on r6xx-evergreen init
    drm/radeon: don't reset sdma on CIK init
    drm/radeon: don't reset dma on NI/SI init
    drm/radeon/dpm: fix resume on mullins
    drm/radeon: Disable HDP flush before every CS again for < r600
    drm/radeon: delete unused PTE_* defines
    drm/i915: Add limited color range readout for HDMI/DP ports on g4x/vlv/chv
    drm: sti: do not iterate over the info frame array
    drm/i915: Fix SRC_COPY width on 830/845g

    Linus Torvalds
     

20 Sep, 2014

2 commits

  • …23/iio into staging-linus

    Jonathan writes:

    First round of IIO fixes for the 3.17 cycle.

    * Fix an overwritten error return that can prevent deferred probing when
    using of_iio_channel_get_by_name
    * A series that deals with an incorrect reference count when the default
    trigger is set within the main probe routine for a driver. Can result
    in a double free if the trigger is changed.
    * Fix a buglet with xilinx-xadc concerning setup of the address for an
    aux channel.
    * At91 adc driver could sometimes get a touchscreen reading rather than
    the intended adc channel. This is fixed by using the channel data register
    instead.
    * Fix some ST magnetometer gain values that differ in production parts from
    the prerelease ones used for driver development.

    Greg Kroah-Hartman
     
  • Pull PCI fixes from Bjorn Helgaas:
    "These fix:

    - Boot video device detection on dual-GPU Apple systems
    - Hotplug fiascos on VGA switcheroo with radeon & nouveau drivers
    - Boot hang on Freescale i.MX6 systems
    - Excessive "no hotplug settings from platform" warnings

    In particular:

    Enumeration
    - Don't default exclusively to first video device (Bruno Prémont)

    PCI device hotplug
    - Remove "no hotplug settings from platform" warning (Bjorn Helgaas)
    - Add pci_ignore_hotplug() for VGA switcheroo (Bjorn Helgaas)

    Freescale i.MX6
    - Put LTSSM in "Detect" state before disabling (Lucas Stach)"

    * tag 'pci-v3.17-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
    vgaarb: Drop obsolete #ifndef
    vgaarb: Don't default exclusively to first video device with mem+io
    ACPIPHP / radeon / nouveau: Remove acpi_bus_no_hotplug()
    PCI: Remove "no hotplug settings from platform" warning
    PCI: Add pci_ignore_hotplug() to ignore hotplug events for a device
    PCI: imx6: Put LTSSM in "Detect" state before disabling it
    MAINTAINERS: Add Lucas Stach as co-maintainer for i.MX6 PCI driver

    Linus Torvalds
     

19 Sep, 2014

4 commits


17 Sep, 2014

1 commit

  • Commit 20cde694027e ("x86, ia64: Move EFI_FB vga_default_device()
    initialization to pci_vga_fixup()") moved boot video device detection from
    efifb to x86 and ia64 pci/fixup.c.

    Remove the left-over #ifndef check that will always match since the
    corresponding arch-specific define is gone with above patch.

    Signed-off-by: Bruno Prémont
    Signed-off-by: Bjorn Helgaas
    CC: Matthew Garrett

    Bruno Prémont
     

16 Sep, 2014

1 commit

  • Revert parts of f244d8b623da ("ACPIPHP / radeon / nouveau: Fix VGA
    switcheroo problem related to hotplug").

    A previous commit 5493b31f0b55 ("PCI: Add pci_ignore_hotplug() to ignore
    hotplug events for a device") added equivalent functionality implemented in
    a different way for both acpiphp and pciehp.

    Signed-off-by: Bjorn Helgaas
    Acked-by: Alex Deucher
    Acked-by: Rafael J. Wysocki
    Acked-by: Dave Airlie
    Acked-by: Rajat Jain

    Bjorn Helgaas
     

15 Sep, 2014

2 commits

  • Pull crypto fixes from Herbert Xu:
    "This fixes the newly added drbg generator so that it actually works on
    32-bit machines. Previously the code was only tested on 64-bit and on
    32-bit it overflowed and simply doesn't work"

    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
    crypto: drbg - remove check for uninitialized DRBG handle
    crypto: drbg - backport "fix maximum value checks on 32 bit systems"

    Linus Torvalds
     
  • The performance regression that Josef Bacik reported in the pathname
    lookup (see commit 99d263d4c5b2 "vfs: fix bad hashing of dentries") made
    me look at performance stability of the dcache code, just to verify that
    the problem was actually fixed. That turned up a few other problems in
    this area.

    There are a few cases where we exit RCU lookup mode and go to the slow
    serializing case when we shouldn't, Al has fixed those and they'll come
    in with the next VFS pull.

    But my performance verification also shows that link_path_walk() turns
    out to have a very unfortunate 32-bit store of the length and hash of
    the name we look up, followed by a 64-bit read of the combined hash_len
    field. That screws up the processor store to load forwarding, causing
    an unnecessary hickup in this critical routine.

    It's caused by the ugly calling convention for the "hash_name()"
    function, and easily fixed by just making hash_name() fill in the whole
    'struct qstr' rather than passing it a pointer to just the hash value.

    With that, the profile for this function looks much smoother.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

14 Sep, 2014

2 commits

  • …/git.kernel.org/pub/scm/linux/kernel/git/tip/tip

    Pull futex and timer fixes from Thomas Gleixner:
    "A oneliner bugfix for the jinxed futex code:

    - Drop hash bucket lock in the error exit path. I really could slap
    myself for intruducing that bug while fixing all the other horror
    in that code three month ago ...

    and the timer department is not too proud about the following fixes:

    - Deal with a long standing rounding bug in the timeval to jiffies
    conversion. It's a real issue and this fix fell through the cracks
    for quite some time.

    - Another round of alarmtimer fixes. Finally this code gets used
    more widely and the subtle issues hidden for quite some time are
    noticed and fixed. Nothing really exciting, just the itty bitty
    details which bite the serious users here and there"

    * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    futex: Unlock hb->lock in futex_wait_requeue_pi() error path

    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    alarmtimer: Lock k_itimer during timer callback
    alarmtimer: Do not signal SIGEV_NONE timers
    alarmtimer: Return relative times in timer_gettime
    jiffies: Fix timeval conversion to jiffies

    Linus Torvalds
     
  • The hash_64() function historically does the multiply by the
    GOLDEN_RATIO_PRIME_64 number with explicit shifts and adds, because
    unlike the 32-bit case, gcc seems unable to turn the constant multiply
    into the more appropriate shift and adds when required.

    However, that means that we generate those shifts and adds even when the
    architecture has a fast multiplier, and could just do it better in
    hardware.

    Use the now-cleaned-up CONFIG_ARCH_HAS_FAST_MULTIPLIER (together with
    "is it a 64-bit architecture") to decide whether to use an integer
    multiply or the explicit sequence of shift/add instructions.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

13 Sep, 2014

3 commits

  • …linux/kernel/git/xen/tip

    Pull Xen ARM bugfix from Stefano Stabellini:
    "The patches fix the "xen_add_mach_to_phys_entry: cannot add" bug that
    has been affecting xen on arm and arm64 guests since 3.16. They
    require a few hypervisor side changes that just went in xen-unstable.

    A couple of days ago David sent out a pull request with a few other
    Xen fixes (it is already in master). Sorry we didn't synchronized
    better among us"

    * tag 'stable/for-linus-3.17-b-rc4-arm-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    xen/arm: remove mach_to_phys rbtree
    xen/arm: reimplement xen_dma_unmap_page & friends
    xen/arm: introduce XENFEAT_grant_map_identity

    Linus Torvalds
     
  • timeval_to_jiffies tried to round a timeval up to an integral number
    of jiffies, but the logic for doing so was incorrect: intervals
    corresponding to exactly N jiffies would become N+1. This manifested
    itself particularly repeatedly stopping/starting an itimer:

    setitimer(ITIMER_PROF, &val, NULL);
    setitimer(ITIMER_PROF, NULL, &val);

    would add a full tick to val, _even if it was exactly representable in
    terms of jiffies_ (say, the result of a previous rounding.) Doing
    this repeatedly would cause unbounded growth in val. So fix the math.

    Here's what was wrong with the conversion: we essentially computed
    (eliding seconds)

    jiffies = usec * (NSEC_PER_USEC/TICK_NSEC)

    by using scaling arithmetic, which took the best approximation of
    NSEC_PER_USEC/TICK_NSEC with denominator of 2^USEC_JIFFIE_SC =
    x/(2^USEC_JIFFIE_SC), and computed:

    jiffies = (usec * x) >> USEC_JIFFIE_SC

    and rounded this calculation up in the intermediate form (since we
    can't necessarily exactly represent TICK_NSEC in usec.) But the
    scaling arithmetic is a (very slight) *over*approximation of the true
    value; that is, instead of dividing by (1 usec/ 1 jiffie), we
    effectively divided by (1 usec/1 jiffie)-epsilon (rounding
    down). This would normally be fine, but we want to round timeouts up,
    and we did so by adding 2^USEC_JIFFIE_SC - 1 before the shift; this
    would be fine if our division was exact, but dividing this by the
    slightly smaller factor was equivalent to adding just _over_ 1 to the
    final result (instead of just _under_ 1, as desired.)

    In particular, with HZ=1000, we consistently computed that 10000 usec
    was 11 jiffies; the same was true for any exact multiple of
    TICK_NSEC.

    We could possibly still round in the intermediate form, adding
    something less than 2^USEC_JIFFIE_SC - 1, but easier still is to
    convert usec->nsec, round in nanoseconds, and then convert using
    time*spec*_to_jiffies. This adds one constant multiplication, and is
    not observably slower in microbenchmarks on recent x86 hardware.

    Tested: the following program:

    int main() {
    struct itimerval zero = {{0, 0}, {0, 0}};
    /* Initially set to 10 ms. */
    struct itimerval initial = zero;
    initial.it_interval.tv_usec = 10000;
    setitimer(ITIMER_PROF, &initial, NULL);
    /* Save and restore several times. */
    for (size_t i = 0; i < 10; ++i) {
    struct itimerval prev;
    setitimer(ITIMER_PROF, &zero, &prev);
    /* on old kernels, this goes up by TICK_USEC every iteration */
    printf("previous value: %ld %ld %ld %ld\n",
    prev.it_interval.tv_sec, prev.it_interval.tv_usec,
    prev.it_value.tv_sec, prev.it_value.tv_usec);
    setitimer(ITIMER_PROF, &prev, NULL);
    }
    return 0;
    }

    Cc: stable@vger.kernel.org
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: Paul Turner
    Cc: Richard Cochran
    Cc: Prarit Bhargava
    Reviewed-by: Paul Turner
    Reported-by: Aaron Jacobs
    Signed-off-by: Andrew Hunter
    [jstultz: Tweaked to apply to 3.17-rc]
    Signed-off-by: John Stultz

    Andrew Hunter
     
  • Pull USB fixes from Greg KH:
    "Here are some USB and PHY fixes for 3.17-rc5.

    Nothing major here, just a number of tiny fixes for reported issues,
    and some new device ids as well.

    All have been tested in linux-next"

    * tag 'usb-3.17-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (46 commits)
    xhci: fix oops when xhci resumes from hibernate with hw lpm capable devices
    usb: xhci: Fix OOPS in xhci error handling code
    xhci: Fix null pointer dereference if xhci initialization fails
    storage: Add single-LUN quirk for Jaz USB Adapter
    uas: Add missing le16_to_cpu calls to asm1051 / asm1053 usb-id check
    usb: chipidea: msm: Initialize PHY on reset event
    usb: chipidea: msm: Use USB PHY API to control PHY state
    usb: hub: take hub->hdev reference when processing from eventlist
    uas: Disable uas on ASM1051 devices
    usb: dwc2/gadget: avoid disabling ep0
    usb: dwc2/gadget: delay enabling irq once hardware is configured properly
    usb: dwc2/gadget: do not call disconnect method in pullup
    usb: dwc2/gadget: break infinite loop in endpoint disable code
    usb: dwc2/gadget: fix phy initialization sequence
    usb: dwc2/gadget: fix phy disable sequence
    uwb: init beacon cache entry before registering uwb device
    USB: ftdi_sio: Add support for GE Healthcare Nemo Tracker device
    USB: document the 'u' flag for usb-storage quirks parameter
    usb: host: xhci: fix compliance mode workaround
    usb: dwc3: fix TRB completion when multiple TRBs are started
    ...

    Linus Torvalds
     

12 Sep, 2014

2 commits

  • The flag tells us that the hypervisor maps a grant page to guest
    physical address == machine address of the page in addition to the
    normal grant mapping address. It is needed to properly issue cache
    maintenance operation at the completion of a DMA operation involving a
    foreign grant.

    Signed-off-by: Stefano Stabellini
    Tested-by: Denis Schneider

    Stefano Stabellini
     
  • Pull input updates from Dmitry Torokhov:
    "An update to Synaptics PS/2 driver to handle "ForcePads" (currently
    found in HP EliteBook 1040 laptops), a change for Elan PS/2 driver to
    detect newer touchpads, bunch of devices get annotated as Trackpoint
    and/or Pointer to help userspace classify and handle them, plus
    assorted driver fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: serport - add compat handling for SPIOCSTYPE ioctl
    Input: atmel_mxt_ts - fix double free of input device
    Input: synaptics - add support for ForcePads
    Input: matrix_keypad - use request_any_context_irq()
    Input: atmel_mxt_ts - downgrade warning about empty interrupts
    Input: wm971x - fix typo in module parameter description
    Input: cap1106 - fix register definition
    Input: add missing POINTER / DIRECT properties to a bunch of drivers
    Input: add INPUT_PROP_POINTING_STICK property
    Input: elantech - fix detection of touchpad on ASUS s301l

    Linus Torvalds
     

11 Sep, 2014

2 commits

  • The new header file memfd.h from commit 9183df25fe7b ("shm: add
    memfd_create() syscall") should be exported.

    Signed-off-by: David Drysdale
    Reviewed-by: David Herrmann
    Cc: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Drysdale
     
  • Powering off a hot-pluggable device, e.g., with pci_set_power_state(D3cold),
    normally generates a hot-remove event that unbinds the driver.

    Some drivers expect to remain bound to a device even while they power it
    off and back on again. This can be dangerous, because if the device is
    removed or replaced while it is powered off, the driver doesn't know that
    anything changed. But some drivers accept that risk.

    Add pci_ignore_hotplug() for use by drivers that know their device cannot
    be removed. Using pci_ignore_hotplug() tells the PCI core that hot-plug
    events for the device should be ignored.

    The radeon and nouveau drivers use this to switch between a low-power,
    integrated GPU and a higher-power, higher-performance discrete GPU. They
    power off the unused GPU, but they want to remain bound to it.

    This is a reimplementation of f244d8b623da ("ACPIPHP / radeon / nouveau:
    Fix VGA switcheroo problem related to hotplug") but extends it to work with
    both acpiphp and pciehp.

    This fixes a problem where systems with dual GPUs using the radeon drivers
    become unusable, freezing every few seconds (see bugzillas below). The
    resume of the radeon device may also fail, e.g.,

    This fixes problems on dual GPU systems where the radeon driver becomes
    unusable because of problems while suspending the device, as in bug 79701:

    [drm] radeon: finishing device.
    radeon 0000:01:00.0: Userspace still has active objects !
    radeon 0000:01:00.0: ffff8800cb4ec288 ffff8800cb4ec000 16384 4294967297 force free
    ...
    WARNING: CPU: 0 PID: 67 at /home/apw/COD/linux/drivers/gpu/drm/radeon/radeon_gart.c:234 radeon_gart_unbind+0xd2/0xe0 [radeon]()
    trying to unbind memory from uninitialized GART !

    or while resuming it, as in bug 77261:

    radeon 0000:01:00.0: ring 0 stalled for more than 10158msec
    radeon 0000:01:00.0: GPU lockup ...
    radeon 0000:01:00.0: GPU pci config reset
    pciehp 0000:00:01.0:pcie04: Card not present on Slot(1-1)
    radeon 0000:01:00.0: GPU reset succeeded, trying to resume
    *ERROR* radeon: dpm resume failed
    radeon 0000:01:00.0: Wait for MC idle timedout !

    Link: https://bugzilla.kernel.org/show_bug.cgi?id=77261
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=79701
    Reported-by: Shawn Starr
    Reported-by: Jose P.
    Signed-off-by: Bjorn Helgaas
    Acked-by: Alex Deucher
    Acked-by: Rajat Jain
    Acked-by: Rafael J. Wysocki
    Acked-by: Dave Airlie
    CC: stable@vger.kernel.org # v3.15+

    Bjorn Helgaas
     

09 Sep, 2014

1 commit

  • It is useful for userspace to know that there not dealing with a regular
    mouse but rather with a pointing stick (e.g. a trackpoint) so that
    userspace can e.g. automatically enable middle button scrollwheel
    emulation.

    It is impossible to tell the difference from the evdev info without
    resorting to putting a list of device / driver names in userspace, this is
    undesirable.

    Add a property which allows userspace to see if a device is a pointing
    stick, and set it on all the pointing stick drivers.

    Signed-off-by: Hans de Goede
    Acked-by: Benjamin Tissoires
    Acked-by: Peter Hutterer
    Signed-off-by: Dmitry Torokhov

    Hans de Goede
     

08 Sep, 2014

4 commits

  • Pull networking fixes from David Miller:

    1) Fix skb leak in mac802154, from Martin Townsend

    2) Use select not depends on NF_NAT for NFT_NAT, from Pablo Neira
    Ayuso

    3) Fix union initializer bogosity in vxlan, from Gerhard Stenzel

    4) Fix RX checksum configuration in stmmac driver, from Giuseppe
    CAVALLARO

    5) Fix TSO with non-accelerated VLANs in e1000, e1000e, bna, ehea,
    i40e, i40evf, mvneta, and qlge, from Vlad Yasevich

    6) Fix capability checks in phy_init_eee(), from Giuseppe CAVALLARO

    7) Try high order allocations more sanely for SKBs, specifically if a
    high order allocation fails, fall back directly to zero order pages
    rather than iterating down one order at a time. From Eric Dumazet

    8) Fix a memory leak in openvswitch, from Li RongQing

    9) amd-xgbe initializes wrong spinlock, from Thomas Lendacky

    10) RTNL locking was busted in setsockopt for anycast and multicast, fix
    from Sabrina Dubroca

    11) Fix peer address refcount leak in ipv6, from Nicolas Dichtel

    12) DocBook typo fixes, from Masanari Iida

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (101 commits)
    ipv6: restore the behavior of ipv6_sock_ac_drop()
    amd-xgbe: Enable interrupts for all management counters
    amd-xgbe: Treat certain counter registers as 64 bit
    greth: moved TX ring cleaning to NAPI rx poll func
    cnic : Cleanup CONFIG_IPV6 & VLAN check
    net: treewide: Fix typo found in DocBook/networking.xml
    bnx2x: Fix link problems for 1G SFP RJ45 module
    3c59x: avoid panic in boomerang_start_xmit when finding page address:
    netfilter: add explicit Kconfig for NETFILTER_XT_NAT
    ipv6: use addrconf_get_prefix_route() to remove peer addr
    ipv6: fix a refcnt leak with peer addr
    net-timestamp: only report sw timestamp if reporting bit is set
    drivers/net/fddi/skfp/h/skfbi.h: Remove useless PCI_BASE_2ND macros
    l2tp: fix race while getting PMTU on PPP pseudo-wire
    ipv6: fix rtnl locking in setsockopt for anycast and multicast
    VMXNET3: Check for map error in vmxnet3_set_mc
    openvswitch: distinguish between the dropped and consumed skb
    amd-xgbe: Fix initialization of the wrong spin lock
    openvswitch: fix a memory leak
    netfilter: fix missing dependencies in NETFILTER_XT_TARGET_LOG
    ...

    Linus Torvalds
     
  • John W. Linville says:

    ====================
    pull request: wireless 2014-09-05

    Please pull this batch of fixes intended for the 3.17 stream...

    For the mac80211 bits, Johannes says:

    "Here are a few fixes for mac80211. One has been discussed for a while
    and adds a terminating NUL-byte to the alpha2 sent to userspace, which
    shouldn't be necessary but since many places treat it as a string we
    couldn't move to just sending two bytes.

    In addition to that, we have two VLAN fixes from Felix, a mesh fix, a
    fix for the recently introduced RX aggregation offload, a revert for
    a broken patch (that luckily didn't really cause any harm) and a small
    fix for alignment in debugfs."

    For the iwlwifi bits, Emmanuel says:

    "I revert a patch that disabled CTS to self in dvm because users
    reported issues. The revert is CCed to stable since the offending
    patch was sent to stable too. I also bump the firmware API versions
    since a new firmware is coming up. On top of that, Marcel fixes a
    bug I introduced while fixing a bug in our Kconfig file."

    Please let me know if there are problems!
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Pull ACPI and power management fixes from Rafael Wysocki:
    "These are regression fixes (ACPI sysfs, ACPI video, suspend test),
    ACPI cpuidle deadlock fix, missing runtime validation of ACPI _DSD
    output, a fix and a new CPU ID for the RAPL driver, new blacklist
    entry for the ACPI EC driver and a couple of trivial cleanups
    (intel_pstate and generic PM domains).

    Specifics:

    - Fix for recently broken test_suspend= command line argument (Rafael
    Wysocki).

    - Fixes for regressions related to the ACPI video driver caused by
    switching the default to native backlight handling in 3.16 from
    Hans de Goede.

    - Fix for a sysfs attribute of ACPI device objects that returns stale
    values sometimes due to the fact that they are cached instead of
    executing the appropriate method (_SUN) every time (broken in
    3.14). From Yasuaki Ishimatsu.

    - Fix for a deadlock between cpuidle_lock and cpu_hotplug.lock in the
    ACPI processor driver from Jiri Kosina.

    - Runtime output validation for the ACPI _DSD device configuration
    object missing from the support for it that has been introduced
    recently. From Mika Westerberg.

    - Fix for an unuseful and misleading RAPL (Running Average Power
    Limit) domain detection message in the RAPL driver from Jacob Pan.

    - New Intel Haswell CPU ID for the RAPL driver from Jason Baron.

    - New Clevo W350etq blacklist entry for the ACPI EC driver from Lan
    Tianyu.

    - Cleanup for the intel_pstate driver and the core generic PM domains
    code from Gabriele Mazzotta and Geert Uytterhoeven"

    * tag 'pm+acpi-3.17-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI / cpuidle: fix deadlock between cpuidle_lock and cpu_hotplug.lock
    ACPI / scan: not cache _SUN value in struct acpi_device_pnp
    cpufreq: intel_pstate: Remove unneeded variable
    powercap / RAPL: change domain detection message
    powercap / RAPL: add support for CPU model 0x3f
    PM / domains: Make generic_pm_domain.name const
    PM / sleep: Fix test_suspend= command line option
    ACPI / EC: Add msi quirk for Clevo W350etq
    ACPI / video: Disable native_backlight on HP ENVY 15 Notebook PC
    ACPI / video: Add a disable_native_backlight quirk
    ACPI / video: Fix use_native_backlight selection logic
    ACPICA: ACPI 5.1: Add support for runtime validation of _DSD package.

    Linus Torvalds
     
  • Pull timer fixes from Thomas Gleixner:
    "Three fixlets from the timer departement:

    - Update the timekeeper before updating vsyscall and pvclock. This
    fixes the kvm-clock regression reported by Chris and Paolo.

    - Use the proper irq work interface from NMI. This fixes the
    regression reported by Catalin and Dave.

    - Clarify the compat_nanosleep error handling mechanism to avoid
    future confusion"

    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    timekeeping: Update timekeeper before updating vsyscall and pvclock
    compat: nanosleep: Clarify error handling
    nohz: Restore NMI safe local irq work for local nohz kick

    Linus Torvalds
     

07 Sep, 2014

1 commit

  • Pull mtd fixes from Brian Norris:
    "Two trivial MTD updates for 3.17-rc4:

    - a tiny comment tweak, to kill a bunch of DocBook warnings added
    during the merge window

    - a small fixup to the OTP routines' error handling"

    * tag 'for-linus-20140905' of git://git.infradead.org/linux-mtd:
    mtd: nand: fix DocBook warnings on nand_sdr_timings doc
    mtd: cfi_cmdset_0002: check return code for get_chip()

    Linus Torvalds
     

06 Sep, 2014

2 commits

  • This patch fix spelling typo found in DocBook/networking.xml.
    It is because the neworking.xml is generated from comments
    in the source, I have to fix typo in comments within the source.

    Signed-off-by: Masanari Iida
    Acked-by: Randy Dunlap
    Signed-off-by: David S. Miller

    Masanari Iida
     
  • The timestamping API has separate bits for generating and reporting
    timestamps. A software timestamp should only be reported for a packet
    when the packet has the relevant generation flag (SKBTX_..) set
    and the socket has reporting bit SOF_TIMESTAMPING_SOFTWARE set.

    The second check was accidentally removed. Reinstitute the original
    behavior.

    Tested:
    Without this patch, Documentation/networking/txtimestamp reports
    timestamps regardless of whether SOF_TIMESTAMPING_SOFTWARE is set.
    After the patch, it only reports them when the flag is set.

    Fixes: f24b9be5957b ("net-timestamp: extend SCM_TIMESTAMPING ancillary data struct")
    Signed-off-by: Willem de Bruijn
    Signed-off-by: David S. Miller

    Willem de Bruijn
     

05 Sep, 2014

8 commits

  • Pull regulator documentation fixes from Mark Brown:
    "All the fixes people have found for the regulator API have been
    documentation fixes, avoiding warnings while building the kerneldoc,
    fixing some errors in one of the DT bindings documents and fixing some
    typos in the header"

    * tag 'regulator-v3.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
    regulator: fix kernel-doc warnings in header files
    regulator: Proofread documentation
    regulator: tps65090: Fix tps65090 typos in example

    Linus Torvalds
     
  • Pull GPIO fixes from Linus Walleij:
    - some documentation sync
    - resource leak in the bt8xx driver
    - again fix the way varargs are used to handle the optional flags on
    the gpiod_* accessors. Now hopefully nailed the entire problem.

    * tag 'gpio-v3.17-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
    gpio: move varargs hack outside #ifdef GPIOLIB
    gpio: bt8xx: fix release of managed resources
    Documentation: gpio: documentation for optional getters functions

    Linus Torvalds
     
  • * pm-sleep:
    PM / sleep: Fix test_suspend= command line option

    * powercap:
    powercap / RAPL: change domain detection message
    powercap / RAPL: add support for CPU model 0x3f

    * pm-domains:
    PM / domains: Make generic_pm_domain.name const

    * pm-cpufreq:
    cpufreq: intel_pstate: Remove unneeded variable

    Rafael J. Wysocki
     
  • Mark Brown
     
  • This is a backport of commit b9347aff91ce4789619168539f08202d8d6a1177.
    This backport is needed as without it the code will crash on 32-bit
    systems.

    The maximum values for additional input string or generated blocks is
    larger than 1<
    Reported-by: kbuild test robot
    Signed-off-by: Herbert Xu

    Herbert Xu
     
  • Fixes: 588b48caf65c ("usbip: move usbip userspace code out of staging")
    which introduced build failure by not changing uapi/usbip.h include path
    according to new location.

    Signed-off-by: Piotr Król
    Signed-off-by: Greg Kroah-Hartman

    Piotr Król
     
  • The local nohz kick is currently used by perf which needs it to be
    NMI-safe. Recent commit though (7d1311b93e58ed55f3a31cc8f94c4b8fe988a2b9)
    changed its implementation to fire the local kick using the remote kick
    API. It was convenient to make the code more generic but the remote kick
    isn't NMI-safe.

    As a result:

    WARNING: CPU: 3 PID: 18062 at kernel/irq_work.c:72 irq_work_queue_on+0x11e/0x140()
    CPU: 3 PID: 18062 Comm: trinity-subchil Not tainted 3.16.0+ #34
    0000000000000009 00000000903774d1 ffff880244e06c00 ffffffff9a7f1e37
    0000000000000000 ffff880244e06c38 ffffffff9a0791dd ffff880244fce180
    0000000000000003 ffff880244e06d58 ffff880244e06ef8 0000000000000000
    Call Trace:
    [] dump_stack+0x4e/0x7a
    [] warn_slowpath_common+0x7d/0xa0
    [] warn_slowpath_null+0x1a/0x20
    [] irq_work_queue_on+0x11e/0x140
    [] tick_nohz_full_kick_cpu+0x57/0x90
    [] __perf_event_overflow+0x275/0x350
    [] ? perf_event_task_disable+0xa0/0xa0
    [] ? x86_perf_event_set_period+0xbf/0x150
    [] perf_event_overflow+0x14/0x20
    [] intel_pmu_handle_irq+0x206/0x410
    [] ? arch_vtime_task_switch+0x63/0x130
    [] perf_event_nmi_handler+0x2b/0x50
    [] nmi_handle+0xd2/0x390
    [] ? nmi_handle+0x5/0x390
    [] ? lock_release+0xab/0x330
    [] default_do_nmi+0x72/0x1c0
    [] ? cpuacct_account_field+0xcf/0x200
    [] do_nmi+0xb8/0x100

    Lets fix this by restoring the use of local irq work for the nohz local
    kick.

    Reported-by: Catalin Iacob
    Reported-and-tested-by: Dave Jones
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Signed-off-by: Frederic Weisbecker

    Frederic Weisbecker
     
  • …ernel/git/jberg/mac80211

    Johannes Berg <johannes@sipsolutions.net> says:

    "Here are a few fixes for mac80211. One has been discussed for a while
    and adds a terminating NUL-byte to the alpha2 sent to userspace, which
    shouldn't be necessary but since many places treat it as a string we
    couldn't move to just sending two bytes.

    In addition to that, we have two VLAN fixes from Felix, a mesh fix, a
    fix for the recently introduced RX aggregation offload, a revert for
    a broken patch (that luckily didn't really cause any harm) and a small
    fix for alignment in debugfs."

    Signed-off-by: John W. Linville <linville@redhat.com>

    John W. Linville
     

04 Sep, 2014

2 commits

  • Pull sound fixes from Takashi Iwai:
    "This time it contains a bunch of small ASoC fixes that slipped from in
    previous updates, in addition to the usual HD-audio fixes and the
    regression fixes for FireWire updates in 3.17.

    All commits are reasonably small fixes"

    * tag 'sound-3.17-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda - Fix COEF setups for ALC1150 codec
    ASoC: simple-card: Fix bug of wrong decrement DT node's refcount
    ALSA: hda - Fix digital mic on Acer Aspire 3830TG
    ASoC: omap-twl4030: Fix typo in 2nd dai link's platform_name
    ALSA: firewire-lib/dice: add arrangements of PCM pointer and interrupts for Dice quirk
    ALSA: dice: fix wrong channel mappping at higher sampling rate
    ASoC: cs4265: Fix setting of functional mode and clock divider
    ASoC: cs4265: Fix clock rates in clock map table
    ASoC: rt5677: correct mismatch widget name
    ASoC: rt5640: Do not allow regmap to use bulk read-write operations
    ASoC: tegra: Fix typo in include guard
    ASoC: da732x: Fix typo in include guard
    ASoC: core: fix .info for SND_SOC_BYTES_TLV
    ASoC: rcar: Use && instead of & for boolean expressions
    ASoC: Use dev_set_name() instead of init_name
    ASoC: axi: Fix ADI AXI SPDIF specification

    Linus Torvalds
     
  • The _SUN device indentification object is not guaranteed to return
    the same value every time it is executed, so we should not cache its
    return value, but rather execute it every time as needed. If it is
    cached, an incorrect stale value may be used in some situations.

    This issue was exposed by commit 202317a573b2 (ACPI / scan: Add
    acpi_device objects for all device nodes in the namespace). Fix it
    by avoiding to cache the return value of _SUN.

    Fixes: 202317a573b2 (ACPI / scan: Add acpi_device objects for all device nodes in the namespace)
    Signed-off-by: Yasuaki Ishimatsu
    Cc: 3.14+ # 3.14+
    [ rjw: Changelog ]
    Signed-off-by: Rafael J. Wysocki

    Yasuaki Ishimatsu