1. 27 Apr, 2015 23 commits
  2. 26 Apr, 2015 8 commits
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-4.1-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · c8b3fd0c
      Linus Torvalds authored
      Pull more power management and ACPI updates from Rafael Wysocki:
       "These are fixes mostly (intel_pstate, ACPI core, ACPI EC driver,
        cpupower tool), a new CPU ID for the Intel RAPL driver and one
        intel_pstate driver improvement that didn't make it to my previous
        pull requests due to timing.
      
        Specifics:
      
         - Fix a build warning in the intel_pstate driver showing up in
           non-SMP builds (Borislav Petkov)
      
         - Change one of the intel_pstate's P-state selection parameters for
           Baytrail and Cherrytrail CPUs to significantly improve performance
           at the cost of a small increase in energy consumption (Kristen
           Carlson Accardi)
      
         - Fix a NULL pointer dereference in the ACPI EC driver due to an
           unsafe list walk in the query handler removal routine (Chris
           Bainbridge)
      
         - Get rid of a false-positive lockdep warning in the ACPI container
           hot-remove code (Rafael J Wysocki)
      
         - Prevent the ACPI device enumeration code from creating device
           objects of a wrong type in some cases (Rafael J Wysocki)
      
         - Add Skylake processors support to the Intel RAPL power capping
           driver (Brian Bian)
      
         - Drop the stale MAINTAINERS entry for the ACPI dock driver that is
           regarded as part of the ACPI core and maintained along with it now
           (Chao Yu)
      
         - Fix cpupower tool breakage caused by a library API change in libpci
           3.3.0 (Lucas Stach)"
      
      * tag 'pm+acpi-4.1-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / scan: Add a scan handler for PRP0001
        ACPI / scan: Annotate physical_node_lock in acpi_scan_is_offline()
        ACPI / EC: fix NULL pointer dereference in acpi_ec_remove_query_handler()
        MAINTAINERS: remove maintainship entry of docking station driver
        powercap / RAPL: Add support for Intel Skylake processors
        cpufreq: intel_pstate: Fix an annoying !CONFIG_SMP warning
        intel_pstate: Change the setpoint for Atom params
        cpupower: fix breakage from libpci API change
      c8b3fd0c
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · d89b3e19
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
       "This push fixes a build problem with img-hash under non-standard
        configurations and a serious regression with sha512_ssse3 which can
        lead to boot failures"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: img-hash - CRYPTO_DEV_IMGTEC_HASH should depend on HAS_DMA
        crypto: x86/sha512_ssse3 - fixup for asm function prototype change
      d89b3e19
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v4.1-1' of... · 78d42567
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v4.1-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86
      
      Pull x86 platform driver updates from Darren Hart:
       "This series includes significant updates to the toshiba_acpi driver
        and the reintroduction of the dell-laptop keyboard backlight additions
        I had to revert previously.  Also included are various fixes for
        typos, warnings, correctness, and minor bugs.
      
        Specifics:
      
        dell-laptop:
           - add support for keyboard backlight.
      
        toshiba_acpi:
           - adaptive keyboard, hotkey, USB sleep and charge, and backlight
             updates.  Update sysfs documentation.
      
        toshiba_bluetooth:
           - fix enabling/disabling loop on recent devices
      
        apple-gmux:
           - lock iGP IO to protect from vgaarb changes
      
        other:
           - Fix typos, clear gcc warnings, clarify pr_* messages, correct
             return types, update MAINTAINERS"
      
      * tag 'platform-drivers-x86-v4.1-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: (25 commits)
        toshiba_acpi: Do not register vendor backlight when acpi_video bl is available
        MAINTAINERS: Add me on list of Dell laptop drivers
        platform: x86: dell-laptop: Add support for keyboard backlight
        Documentation/ABI: Update sysfs-driver-toshiba_acpi entry
        toshiba_acpi: Fix pr_* messages from USB Sleep Functions
        toshiba_acpi: Update and fix USB Sleep and Charge modes
        wmi: Use bool function return values of true/false not 1/0
        toshiba_bluetooth: Fix enabling/disabling loop on recent devices
        toshiba_bluetooth: Clean up *_add function and disable BT device at removal
        toshiba_bluetooth: Add three new functions to the driver
        toshiba_acpi: Fix the enabling of the Special Functions
        toshiba_acpi: Use the Hotkey Event Type function for keymap choosing
        toshiba_acpi: Add Hotkey Event Type function and definitions
        x86/wmi: delete unused wmi_data_lock mutex causing gcc warning
        apple-gmux: lock iGP IO to protect from vgaarb changes
        MAINTAINERS: Add missing Toshiba devices and add myself as maintainer
        toshiba_acpi: Update events in toshiba_acpi_notify
        intel-oaktrail: Fix trivial typo in comment
        thinkpad_acpi: off by one in adaptive_keyboard_hotkey_notify_hotkey()
        thinkpad_acpi: signedness bugs getting current_mode
        ...
      78d42567
    • Linus Torvalds's avatar
      Merge tag 'chrome-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/chrome-platform · 36a8032d
      Linus Torvalds authored
      Pull chrome platform updates from Olof Johansson:
       "Here's a set of updates to the Chrome OS platform drivers for this
        merge window.
      
        Main new things this cycle is:
      
         - Driver changes to expose the lightbar to users.  With this, you can
           make your own blinkenlights on Chromebook Pixels.
      
         - Changes in the way that the atmel_mxt trackpads are probed.  The
           laptop driver is trying to be smart and not instantiate the devices
           that don't answer to probe.  For the trackpad that can come up in
           two modes (bootloader or regular), this gets complicated since the
           driver already knows how to handle the two modes including the
           actual addresses used.  So now the laptop driver needs to know more
           too, instantiating the regular address even if the bootloader one
           is the probe that passed.
      
         - mfd driver improvements by Javier Martines Canillas, and a few
           bugfixes from him, kbuild and myself"
      
      * tag 'chrome-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/chrome-platform:
        platform/chrome: chromeos_laptop - instantiate Atmel at primary address
        platform/chrome: cros_ec_lpc - Depend on X86 || COMPILE_TEST
        platform/chrome: cros_ec_lpc - Include linux/io.h header file
        platform/chrome: fix platform_no_drv_owner.cocci warnings
        platform/chrome: cros_ec_lightbar - fix duplicate const warning
        platform/chrome: cros_ec_dev - fix Unknown escape '%' warning
        platform/chrome: Expose Chrome OS Lightbar to users
        platform/chrome: Create sysfs attributes for the ChromeOS EC
        mfd: cros_ec: Instantiate ChromeOS EC character device
        platform/chrome: Add Chrome OS EC userspace device interface
        platform/chrome: Add cros_ec_lpc driver for x86 devices
        mfd: cros_ec: Add char dev and virtual dev pointers
        mfd: cros_ec: Use fixed size arrays to transfer data with the EC
      36a8032d
    • Linus Torvalds's avatar
      Merge tag 'cris-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris · 7f9f4430
      Linus Torvalds authored
      Pull arch/cris updates from Jesper Nilsson:
       "Some much needed love for the CRIS-port.
      
        There's a bunch of changes this time, giving the CRISv32 port a bit of
        modern makeover with device-tree, irq domain and gpiolib support, and
        more switchover to generic frameworks.
      
        Some small fixes and removal of the theoretical SMP support brings up
        the rear"
      
      * tag 'cris-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris:
        cris: fix integer overflow in ELF_ET_DYN_BASE
        CRISv32: use GENERIC_SCHED_CLOCK
        CRISv32: use MMIO clocksource
        CRISv32: use generic clockevents
        CRIS: use generic headers via Kbuild
        CRIS: use generic cmpxchg.h
        CRIS: use generic atomic.h
        CRIS: use generic atomic bitops
        CRISv10: remove redundant macros from system.h
        CRIS: remove SMP code
        CRISv32: don't enable irqs in INIT_THREAD
        CRISv32: handle multiple signals
        CRISv32: prevent bogus restarts on sigreturn
        CRISv32: don't attempt syscall restart on irq exit
        Add binding documentation for CRIS
        CRIS: add Axis 88 board device tree
        CRISv32: add device tree support
        CRISv32: add irq domains support
        CRIS: enable GPIOLIB
      7f9f4430
    • Linus Torvalds's avatar
      Merge tag 'powerpc-4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux · 63905bba
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - fix for mm_dec_nr_pmds() from Scott.
      
       - fixes for oopses seen with KVM + THP from Aneesh.
      
       - build fixes from Aneesh & Shreyas.
      
      * tag 'powerpc-4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux:
        powerpc/mm: Fix build error with CONFIG_PPC_TRANSACTIONAL_MEM disabled
        powerpc/kvm: Fix ppc64_defconfig + PPC_POWERNV=n build error
        powerpc/mm/thp: Return pte address if we find trans_splitting.
        powerpc/mm/thp: Make page table walk safe against thp split/collapse
        KVM: PPC: Remove page table walk helpers
        KVM: PPC: Use READ_ONCE when dereferencing pte_t pointer
        powerpc/hugetlb: Call mm_dec_nr_pmds() in hugetlb_free_pmd_range()
      63905bba
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · eadf16a9
      Linus Torvalds authored
      Pull second batch of KVM changes from Paolo Bonzini:
       "This mostly includes the PPC changes for 4.1, which this time cover
        Book3S HV only (debugging aids, minor performance improvements and
        some cleanups).  But there are also bug fixes and small cleanups for
        ARM, x86 and s390.
      
        The task_migration_notifier revert and real fix is still pending
        review, but I'll send it as soon as possible after -rc1"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (29 commits)
        KVM: arm/arm64: check IRQ number on userland injection
        KVM: arm: irqfd: fix value returned by kvm_irq_map_gsi
        KVM: VMX: Preserve host CR4.MCE value while in guest mode.
        KVM: PPC: Book3S HV: Use msgsnd for signalling threads on POWER8
        KVM: PPC: Book3S HV: Translate kvmhv_commence_exit to C
        KVM: PPC: Book3S HV: Streamline guest entry and exit
        KVM: PPC: Book3S HV: Use bitmap of active threads rather than count
        KVM: PPC: Book3S HV: Use decrementer to wake napping threads
        KVM: PPC: Book3S HV: Don't wake thread with no vcpu on guest IPI
        KVM: PPC: Book3S HV: Get rid of vcore nap_count and n_woken
        KVM: PPC: Book3S HV: Move vcore preemption point up into kvmppc_run_vcpu
        KVM: PPC: Book3S HV: Minor cleanups
        KVM: PPC: Book3S HV: Simplify handling of VCPUs that need a VPA update
        KVM: PPC: Book3S HV: Accumulate timing information for real-mode code
        KVM: PPC: Book3S HV: Create debugfs file for each guest's HPT
        KVM: PPC: Book3S HV: Add ICP real mode counters
        KVM: PPC: Book3S HV: Move virtual mode ICP functions to real-mode
        KVM: PPC: Book3S HV: Convert ICS mutex lock to spin lock
        KVM: PPC: Book3S HV: Add guest->host real mode completion counters
        KVM: PPC: Book3S HV: Add helpers for lock/unlock hpte
        ...
      eadf16a9
    • Stephen Rothwell's avatar
  3. 25 Apr, 2015 1 commit
    • Dmitry Torokhov's avatar
      platform/chrome: chromeos_laptop - instantiate Atmel at primary address · 96cba9b0
      Dmitry Torokhov authored
      The new Atmel MXT driver expects i2c client's address contain the
      primary (main address) of the chip, and calculates the expected
      bootloader address form the primary address. Unfortunately chrome_laptop
      does probe the devices and if touchpad (or touchscreen, or both) comes
      up in bootloader mode the i2c device gets instantiated with the
      bootloader address which confuses the driver.
      
      To work around this issue let's probe the primary address first. If the
      device is not detected at the primary address we'll probe alternative
      addresses as "dummy" devices. If any of them are found, destroy the
      dummy client and instantiate client with proper name at primary address
      still.
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      96cba9b0
  4. 24 Apr, 2015 8 commits
    • Al Viro's avatar
      RCU pathwalk breakage when running into a symlink overmounting something · 3cab989a
      Al Viro authored
      Calling unlazy_walk() in walk_component() and do_last() when we find
      a symlink that needs to be followed doesn't acquire a reference to vfsmount.
      That's fine when the symlink is on the same vfsmount as the parent directory
      (which is almost always the case), but it's not always true - one _can_
      manage to bind a symlink on top of something.  And in such cases we end up
      with excessive mntput().
      
      Cc: stable@vger.kernel.org # since 2.6.39
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      3cab989a
    • Eric Sandeen's avatar
      fix I_DIO_WAKEUP definition · ac74d8d6
      Eric Sandeen authored
      I_DIO_WAKEUP is never directly used, but fix it up anyway.
      Signed-off-by: default avatarEric Sandeen <sandeen@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      ac74d8d6
    • Jens Axboe's avatar
      direct-io: only inc/dec inode->i_dio_count for file systems · fe0f07d0
      Jens Axboe authored
      do_blockdev_direct_IO() increments and decrements the inode
      ->i_dio_count for each IO operation. It does this to protect against
      truncate of a file. Block devices don't need this sort of protection.
      
      For a capable multiqueue setup, this atomic int is the only shared
      state between applications accessing the device for O_DIRECT, and it
      presents a scaling wall for that. In my testing, as much as 30% of
      system time is spent incrementing and decrementing this value. A mixed
      read/write workload improved from ~2.5M IOPS to ~9.6M IOPS, with
      better latencies too. Before:
      
      clat percentiles (usec):
       |  1.00th=[   33],  5.00th=[   34], 10.00th=[   34], 20.00th=[   34],
       | 30.00th=[   34], 40.00th=[   34], 50.00th=[   35], 60.00th=[   35],
       | 70.00th=[   35], 80.00th=[   35], 90.00th=[   37], 95.00th=[   80],
       | 99.00th=[   98], 99.50th=[  151], 99.90th=[  155], 99.95th=[  155],
       | 99.99th=[  165]
      
      After:
      
      clat percentiles (usec):
       |  1.00th=[   95],  5.00th=[  108], 10.00th=[  129], 20.00th=[  149],
       | 30.00th=[  155], 40.00th=[  161], 50.00th=[  167], 60.00th=[  171],
       | 70.00th=[  177], 80.00th=[  185], 90.00th=[  201], 95.00th=[  270],
       | 99.00th=[  390], 99.50th=[  398], 99.90th=[  418], 99.95th=[  422],
       | 99.99th=[  438]
      
      In other setups, Robert Elliott reported seeing good performance
      improvements:
      
      https://lkml.org/lkml/2015/4/3/557
      
      The more applications accessing the device, the worse it gets.
      
      Add a new direct-io flags, DIO_SKIP_DIO_COUNT, which tells
      do_blockdev_direct_IO() that it need not worry about incrementing
      or decrementing the inode i_dio_count for this caller.
      
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Theodore Ts'o <tytso@mit.edu>
      Cc: Elliott, Robert (Server Storage) <elliott@hp.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      fe0f07d0
    • Johannes Berg's avatar
      fs/9p: fix readdir() · 8e3c5005
      Johannes Berg authored
      Al Viro's IOV changes broke 9p readdir() because the new code
      didn't abort the read when it returned nothing. The original
      code checked if the combined error/length was <= 0 but in the
      new code that accidentally got changed to just an error check.
      
      Add back the return from the function when nothing is read.
      
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Fixes: e1200fe6 ("9p: switch p9_client_read() to passing struct iov_iter *")
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      8e3c5005
    • Chris Mason's avatar
      Btrfs: prevent list corruption during free space cache processing · a3bdccc4
      Chris Mason authored
      __btrfs_write_out_cache is holding the ctl->tree_lock while it prepares
      a list of bitmaps to record in the free space cache.  It was dropping
      the lock while it worked on other components, which made a window for
      free_bitmap() to free the bitmap struct without removing it from the
      list.
      
      This changes things to hold the lock the whole time, and also makes sure
      we hold the lock during enospc cleanup.
      Reported-by: default avatarFilipe Manana <fdmanana@suse.com>
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      a3bdccc4
    • Hans de Goede's avatar
      toshiba_acpi: Do not register vendor backlight when acpi_video bl is available · 358d6a2c
      Hans de Goede authored
      commit a39f46df ("toshiba_acpi: Fix regression caused by backlight extra
      check code") causes the backlight to no longer work on the Toshiba Z30,
      reverting that commit fixes this but restores the original issue fixed
      by that commit.
      
      Looking at the toshiba_acpi backlight code for a fix for this I noticed that
      the toshiba code is the only code under platform/x86 which unconditionally
      registers a vendor acpi backlight interface, without checking for acpi_video
      backlight support first.
      
      This commit adds the necessary checks bringing toshiba_acpi in line with the
      other drivers, and fixing the Z30 regression without needing to revert the
      commit causing it.
      
      Chances are that there will be some Toshiba models which have a non working
      acpi-video implementation while the toshiba vendor backlight interface does
      work, this commit adds an empty dmi_id table where such systems can be added,
      this is identical to how other drivers handle such systems.
      
      BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1206036
      BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=86521Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Reviewed-and-tested-by: default avatarAzael Avalos <coproscefalo@gmail.com>
      Signed-off-by: default avatarDarren Hart <dvhart@linux.intel.com>
      358d6a2c
    • Linus Torvalds's avatar
      Merge tag 'sound-fix-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · d19d133e
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Here are a few fixes that have been pending since the previous pull
        request: a regression fix for HD-audio multiple SPDIF / HDMI devices,
        several ALC256 codec fixes, a couple of i915 HDMI audio fixes, and
        various small fixes.
      
        Nothing exciting, just boring, but things good to have"
      
      * tag 'sound-fix-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - fix headset mic detection problem for one more machine
        ALSA: hda/realtek - Fix Headphone Mic doesn't recording for ALC256
        ALSA: hda - fix "num_steps = 0" error on ALC256
        ALSA: usb-audio: Fix audio output on Roland SC-D70 sound module
        ALSA: hda - add AZX_DCAPS_I915_POWERWELL to Baytrail
        ALSA: hda - only sync BCLK to the display clock for Haswell & Broadwell
        ALSA: hda - Mute headphone pin on suspend on XPS13 9333
        sound/oss: fix deadlock in sequencer_ioctl(SNDCTL_SEQ_OUTOFBAND)
        ALSA: asound.h - use SNDRV_CTL_ELEM_ID_NAME_MAXLEN
        ALSA: hda - potential (but unlikely) uninitialized variable
        ALSA: hda - Fix regression for slave SPDIF setups
        ALSA: intel8x0: Check pci_iomap() success for DEVICE_ALI
        ALSA: hda - simplify azx_has_pm_runtime
      d19d133e
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · c6668726
      Linus Torvalds authored
      Pull SCSI target updates from Nicholas Bellinger:
       "Lots of activity in target land the last months.
      
        The highlights include:
      
         - Convert fabric drivers tree-wide to target_register_template() (hch
           + bart)
      
         - iser-target hardening fixes + v1.0 improvements (sagi)
      
         - Convert iscsi_thread_set usage to kthread.h + kill
           iscsi_target_tq.c (sagi + nab)
      
         - Add support for T10-PI WRITE_STRIP + READ_INSERT operation (mkp +
           sagi + nab)
      
         - DIF fixes for CONFIG_DEBUG_SG=y + UNMAP file emulation (akinobu +
           sagi + mkp)
      
         - Extended TCMU ABI v2 for future BIDI + DIF support (andy + ilias)
      
         - Fix COMPARE_AND_WRITE handling for NO_ALLLOC drivers (hch + nab)
      
        Thanks to everyone who contributed this round with new features,
        bug-reports, fixes, cleanups and improvements.
      
        Looking forward, it's currently shaping up to be a busy v4.2 as well"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (69 commits)
        target: Put TCMU under a new config option
        target: Version 2 of TCMU ABI
        target: fix tcm_mod_builder.py
        target/file: Fix UNMAP with DIF protection support
        target/file: Fix SG table for prot_buf initialization
        target/file: Fix BUG() when CONFIG_DEBUG_SG=y and DIF protection enabled
        target: Make core_tmr_abort_task() skip TMFs
        target/sbc: Update sbc_dif_generate pr_debug output
        target/sbc: Make internal DIF emulation honor ->prot_checks
        target/sbc: Return INVALID_CDB_FIELD if DIF + sess_prot_type disabled
        target: Ensure sess_prot_type is saved across session restart
        target/rd: Don't pass incomplete scatterlist entries to sbc_dif_verify_*
        target: Remove the unused flag SCF_ACK_KREF
        target: Fix two sparse warnings
        target: Fix COMPARE_AND_WRITE with SG_TO_MEM_NOALLOC handling
        target: simplify the target template registration API
        target: simplify target_xcopy_init_pt_lun
        target: remove the unused SCF_CMD_XCOPY_PASSTHROUGH flag
        target/rd: reduce code duplication in rd_execute_rw()
        tcm_loop: fixup tpgt string to integer conversion
        ...
      c6668726