1. 06 Nov, 2015 3 commits
  2. 05 Nov, 2015 1 commit
    • Jason Gerecke's avatar
      HID: wacom: Call 'wacom_query_tablet_data' only after 'hid_hw_start' · 86e88f0e
      Jason Gerecke authored
      When connecting the Cintiq Companion 2 as an external tablet (i.e., using
      it in "hybrid" mode) it has been seen to cause the kernel of the machine
      it is connected to to Oops. The cause has been traced to us attempting to
      switch the tablet's mode prior to actually starting HID device (resulting
      in the eventual dereference of the uninitialized control URB).
      
      Commit 3b164a00 moved the mode switch from occuring post-start to occurring
      pre-start. The change was not seen to cause issues largely due to the fact
      that most devices mode switch with 'hid_hw_raw_request' (which is safe to
      call prior to start) rather than 'hid_hw_request'.
      
      Moving the call back to its original location resolves the issue, but
      causes some touch-only Bamboo tablets (e.g. 056a:00d0) to stop working.
      The affected tablets require us to perform a mode switch on their
      vestigial pen interface prior ignoring with -ENODEV, meaning that the
      code which is responsible for doing the ignoring has to move as well.
      Signed-off-by: default avatarJason Gerecke <jason.gerecke@wacom.com>
      Reviewed-by: default avatarPing Cheng <pingc@wacom.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      86e88f0e
  3. 03 Nov, 2015 2 commits
  4. 02 Nov, 2015 1 commit
  5. 21 Oct, 2015 6 commits
  6. 11 Oct, 2015 1 commit
    • Mika Westerberg's avatar
      HID: multitouch: Fetch feature reports on demand for Win8 devices · 6d4f5440
      Mika Westerberg authored
      Some newer Intel Skylake based Dell laptops with Win8 precision touchpad
      fail when initial feature reports are fetched from it. Below is an example
      output with some additional debug included:
      
       i2c_hid i2c-DLL0704:01: Fetching the HID descriptor
       i2c_hid i2c-DLL0704:01: __i2c_hid_command: cmd=20 00
       i2c_hid i2c-DLL0704:01: HID Descriptor: 1e 00 00 01 99 02 21 00 24 ...
       ...
       i2c_hid i2c-DLL0704:01: i2c_hid_get_report
       i2c_hid i2c-DLL0704:01: __i2c_hid_command: cmd=22 00 38 02 23 00
       i2c_hid i2c-DLL0704:01: report (len=4): 04 00 08 05
       i2c_hid i2c-DLL0704:01: report id 13
       i2c_hid i2c-DLL0704:01: i2c_hid_get_report
       i2c_hid i2c-DLL0704:01: __i2c_hid_command: cmd=22 00 3d 02 23 00
       i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
       i2c_hid i2c-DLL0704:01: report id 7
       i2c_hid i2c-DLL0704:01: i2c_hid_get_report
       i2c_hid i2c-DLL0704:01: __i2c_hid_command: cmd=22 00 37 02 23 00
       i2c_hid i2c-DLL0704:01: report (len=259): 03 01 07 fc 28 fe 84 40 ...
       i2c_hid i2c-DLL0704:01: report id 4
       i2c_hid i2c-DLL0704:01: i2c_hid_get_report
       i2c_hid i2c-DLL0704:01: __i2c_hid_command: cmd=22 00 34 02 23 00
      
      We manage to fetch few reports but then the touchpad dies:
      
       i2c_designware i2c_designware.1: i2c_dw_handle_tx_abort: lost arbitration
       i2c_hid i2c-DLL0704:01: failed to retrieve report from device.
      
      it eventually pulls the whole I2C bus low:
      
       i2c_designware i2c_designware.1: controller timed out
       i2c_hid i2c-DLL0704:01: failed to set a report to device.
      
      Fix this by preventing initial feature report retrieval for Win8 devices.
      Instead we fetch reports as needed in mt_feature_mapping(). This prevents
      fetching reports which might cause problems with the device in question.
      Suggested-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
      Reviewed-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Tested-by: default avatarSeth Forshee <seth.forshee@canonical.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      6d4f5440
  7. 05 Oct, 2015 1 commit
    • Ritesh Raj Sarraf's avatar
      HID: sensor-hub: Add quirk for Lenovo Yoga 2 with ITE Chips · e8e88438
      Ritesh Raj Sarraf authored
      This patch is a follow-up to 47eeca8a48 (" HID: sensor-hub: Add in quirk
      for Lenovo Yogas with ITE")
      
      The Lenovo Yoga 2 13 seems to be sold in multiple variants with minor
      difference3s. IN my case, the USB ID for ITE chip is different than the
      Yoga 2 11 and Yoga 3 14.
      
      Without the quirk, no data is received from the accelerometer. I have
      verified the patch, testing this on 4.3-rc4 (and 4.2 stable). With this
      patch, proper orientation data is received.
      
      rrs@learner:~/Community/UpstreamSources/linux-upstream_GIT (stable-42)$
      monitor-sensor
      ** Message: Accelerometer orientation changed: bottom-up
      ** Message: Light changed: 0.000000 (lux)
      ±** Message: Accelerometer orientation changed: left-up
      ** Message: Accelerometer orientation changed: bottom-up
      ** Message: Accelerometer orientation changed: left-up
      ** Message: Accelerometer orientation changed: normal
      ** Message: Light changed: 29.999999 (lux)
      
      monitor-sensor can be found in the iio-sensor-proxy tool.
      Signed-off-by: default avatarRitesh Raj Sarraf <rrs@debian.org>
      Acked-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      e8e88438
  8. 04 Oct, 2015 1 commit
  9. 30 Sep, 2015 3 commits
  10. 29 Sep, 2015 2 commits
  11. 23 Sep, 2015 5 commits
  12. 04 Sep, 2015 5 commits
  13. 02 Sep, 2015 2 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 851328fe
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
       "to receive patches queued for 4.3 merge window in HID tree. Highlights:
      
         - a lot of improvements (regarding supported features and devices) to
           Wacom driver, from Aaron Skomra and Jason Gerecke
         - a lot of functional fixes and support for large I2C transfer to
           cp2112 driver, from Ellen Wang
         - HW support improvements to RMI driver, from Andrew Duggan
         - quite some small fixes and device ID additions all over the place"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (44 commits)
        HID: wacom: wacom_setup_numbered_buttons is local to wacom_wac
        HID: wacom: Add support for Express Key Remote.
        HID: wacom: Set button bits based on a new numbered_buttons
        HID: quirks: add QUIRK_NOGET for an other TPV touchscreen
        HID: usbhid: Fix the check for HID_RESET_PENDING in hid_io_error
        HID: i2c-hid: Only disable irq wake if it was successfully enabled during suspend
        HID: wacom: Use tablet-provided touch height/width values for INTUOSHT
        HID: gembird: add new driver to fix Gembird JPD-DualForce 2
        HID: lenovo: Hide middle-button press until release
        HID: lenovo: Add missing return-value check
        HID: lenovo: Use constants for axes names
        HID: wacom: Simplify 'wacom_pl_irq'
        HID: wacom: Do not repeatedly attempt to set device mode on error
        HID: wacom: Do not repeatedly attempt to set device mode on error
        HID: wacom: Remove WACOM_QUIRK_NO_INPUT
        HID: wacom: Replace WACOM_QUIRK_MONITOR with WACOM_DEVICETYPE_WL_MONITOR
        HID: wacom: Use calculated pkglen for wireless touch interface
        HID: sony: Fix DS4 controller reporting rate issues
        HID: chicony: Add support for Acer Aspire Switch 12
        HID: hid-lg: Add USBID for Logitech G29 Wheel
        ...
      851328fe
    • Linus Torvalds's avatar
      Merge tag 'edac_for_4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 2d678b68
      Linus Torvalds authored
      Pull EDAC fixes from Borislav Petkov:
       "Two minor fixlets this time: AMD MCE decoding correction and
        xgene_edac cleanup"
      
      * tag 'edac_for_4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        EDAC, mce_amd: Don't emit 'CE' for Deferred error
        EDAC, xgene: Drop owner assignment from platform_driver
      2d678b68
  14. 01 Sep, 2015 7 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace · 73b6fa8e
      Linus Torvalds authored
      Pull user namespace updates from Eric Biederman:
       "This finishes up the changes to ensure proc and sysfs do not start
        implementing executable files, as the there are application today that
        are only secure because such files do not exist.
      
        It akso fixes a long standing misfeature of /proc/<pid>/mountinfo that
        did not show the proper source for files bind mounted from
        /proc/<pid>/ns/*.
      
        It also straightens out the handling of clone flags related to user
        namespaces, fixing an unnecessary failure of unshare(CLONE_NEWUSER)
        when files such as /proc/<pid>/environ are read while <pid> is calling
        unshare.  This winds up fixing a minor bug in unshare flag handling
        that dates back to the first version of unshare in the kernel.
      
        Finally, this fixes a minor regression caused by the introduction of
        sysfs_create_mount_point, which broke someone's in house application,
        by restoring the size of /sys/fs/cgroup to 0 bytes.  Apparently that
        application uses the directory size to determine if a tmpfs is mounted
        on /sys/fs/cgroup.
      
        The bind mount escape fixes are present in Al Viros for-next branch.
        and I expect them to come from there.  The bind mount escape is the
        last of the user namespace related security bugs that I am aware of"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        fs: Set the size of empty dirs to 0.
        userns,pidns: Force thread group sharing, not signal handler sharing.
        unshare: Unsharing a thread does not require unsharing a vm
        nsfs: Add a show_path method to fix mountinfo
        mnt: fs_fully_visible enforce noexec and nosuid  if !SB_I_NOEXEC
        vfs: Commit to never having exectuables on proc and sysfs.
      73b6fa8e
    • Linus Torvalds's avatar
      Merge branch 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e713c80a
      Linus Torvalds authored
      Pull x86 clockevent update from Thomas Gleixner:
       "A single commit, which converts HPET clockevents driver to the new
        callbacks"
      
      * 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/hpet: Migrate to new set_state interface
      e713c80a
    • Linus Torvalds's avatar
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 43af9872
      Linus Torvalds authored
      Pull x86 apic updates from Thomas Gleixner:
       "This udpate contains:
      
         - rework the irq vector array to store a pointer to the irq
           descriptor instead of the irq number to avoid a lookup of the irq
           descriptor in the irq entry path
      
         - lguest interrupt handling cleanups
      
         - conversion of the local apic timer to the new clockevent callbacks
      
         - preparatory changes for the irq argument removal of interrupt flow
           handlers"
      
      * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/irq: Do not dereference irq descriptor before checking it
        tools/lguest: Clean up include dir
        tools/lguest: Fix redefinition of struct virtio_pci_cfg_cap
        x86/irq: Store irq descriptor in vector array
        genirq: Provide irq_desc_has_action
        x86/irq: Get rid of an indentation level
        x86/irq: Rename VECTOR_UNDEFINED to VECTOR_UNUSED
        x86/irq: Replace numeric constant
        x86/irq: Protect smp_cleanup_move
        x86/lguest: Do not setup unused irq vectors
        x86/lguest: Clean up lguest_setup_irq
        x86/apic: Drop local_irq_save/restore in timer callbacks
        x86/apic: Migrate apic timer to new set_state interface
        x86/irq: Use access helper irq_data_get_affinity_mask()
        x86/irq: Use accessor irq_data_get_irq_handler_data()
        x86/irq: Use accessor irq_data_get_node()
      43af9872
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 17e6b00a
      Linus Torvalds authored
      Pull irq updates from Thomas Gleixner:
       "This updated pull request does not contain the last few GIC related
        patches which were reported to cause a regression.  There is a fix
        available, but I let it breed for a couple of days first.
      
        The irq departement provides:
      
         - new infrastructure to support non PCI based MSI interrupts
         - a couple of new irq chip drivers
         - the usual pile of fixlets and updates to irq chip drivers
         - preparatory changes for removal of the irq argument from interrupt
           flow handlers
         - preparatory changes to remove IRQF_VALID"
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (129 commits)
        irqchip/imx-gpcv2: IMX GPCv2 driver for wakeup sources
        irqchip: Add bcm2836 interrupt controller for Raspberry Pi 2
        irqchip: Add documentation for the bcm2836 interrupt controller
        irqchip/bcm2835: Add support for being used as a second level controller
        irqchip/bcm2835: Refactor handle_IRQ() calls out of MAKE_HWIRQ
        PCI: xilinx: Fix typo in function name
        irqchip/gic: Ensure gic_cpu_if_up/down() programs correct GIC instance
        irqchip/gic: Only allow the primary GIC to set the CPU map
        PCI/MSI: pci-xgene-msi: Consolidate chained IRQ handler install/remove
        unicore32/irq: Prepare puv3_gpio_handler for irq argument removal
        tile/pci_gx: Prepare trio_handle_level_irq for irq argument removal
        m68k/irq: Prepare irq handlers for irq argument removal
        C6X/megamode-pic: Prepare megamod_irq_cascade for irq argument removal
        blackfin: Prepare irq handlers for irq argument removal
        arc/irq: Prepare idu_cascade_isr for irq argument removal
        sparc/irq: Use access helper irq_data_get_affinity_mask()
        sparc/irq: Use helper irq_data_get_irq_handler_data()
        parisc/irq: Use access helper irq_data_get_affinity_mask()
        mn10300/irq: Use access helper irq_data_get_affinity_mask()
        irqchip/i8259: Prepare i8259_irq_dispatch for irq argument removal
        ...
      17e6b00a
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5e359bf2
      Linus Torvalds authored
      Pull timer updates from Thomas Gleixner:
       "Rather large, but nothing exiting:
      
         - new range check for settimeofday() to prevent that boot time
           becomes negative.
         - fix for file time rounding
         - a few simplifications of the hrtimer code
         - fix for the proc/timerlist code so the output of clock realtime
           timers is accurate
         - more y2038 work
         - tree wide conversion of clockevent drivers to the new callbacks"
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (88 commits)
        hrtimer: Handle failure of tick_init_highres() gracefully
        hrtimer: Unconfuse switch_hrtimer_base() a bit
        hrtimer: Simplify get_target_base() by returning current base
        hrtimer: Drop return code of hrtimer_switch_to_hres()
        time: Introduce timespec64_to_jiffies()/jiffies_to_timespec64()
        time: Introduce current_kernel_time64()
        time: Introduce struct itimerspec64
        time: Add the common weak version of update_persistent_clock()
        time: Always make sure wall_to_monotonic isn't positive
        time: Fix nanosecond file time rounding in timespec_trunc()
        timer_list: Add the base offset so remaining nsecs are accurate for non monotonic timers
        cris/time: Migrate to new 'set-state' interface
        kernel: broadcast-hrtimer: Migrate to new 'set-state' interface
        xtensa/time: Migrate to new 'set-state' interface
        unicore/time: Migrate to new 'set-state' interface
        um/time: Migrate to new 'set-state' interface
        sparc/time: Migrate to new 'set-state' interface
        sh/localtimer: Migrate to new 'set-state' interface
        score/time: Migrate to new 'set-state' interface
        s390/time: Migrate to new 'set-state' interface
        ...
      5e359bf2
    • Linus Torvalds's avatar
      Merge tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 8d01b66b
      Linus Torvalds authored
      Pull ARM SoC 64-bit changes from Olof Johansson:
       "Here's our branch of ARM64 contents for this merge window.
      
        Most of this is DT contents for new SoCs (or those who have seen new
        device support added).  Maybe we should stop separating out the arm64
        contents here to avoid the kind of internal conflicts as we got this
        time around, where 32- and 64-bit contents conflicted.
      
        Anyhow, on the actual contents:
      
        New SoCs:
      
         - Broadcom North Star 2 (ns2)
         - Marvell Berlin4CT
         - Mediatek MT6795
         - Rockchip RK3368
      
        In addition, there are enhancements for the following platforms:
      
         - Mediatek MT8173: cpuidle-dt updates, misc other additions
         - ZyncMP: A bunch of devices added to the existing DTSI
         - Qualcomm MSM8916 and APQ8016 updates for USB, etc.
      
        + a handful of other updates for various platforms"
      
      * tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (47 commits)
        ARM64: dts: vexpress: Use assigned-clock-parents for sp810
        ARM64: dts: mt6795: enable basic SMP bringup for MT6795
        arm64: Enable Marvell Berlin SoC family in defconfig
        arm64: Enable Marvell Berlin SoC family in Kconfig
        arm64: dts: Add dts files for Marvell Berlin4CT SoC
        ARM64: zynqmp: Move SPI nodes to the right location
        ARM64: zynqmp: Move uart and ttcs to the right location
        ARM64: zynqmp: Enable spi flashes on ep108
        ARM64: zynqmp: Add eeprom memories on i2c bus
        ARM64: zynqmp: Enable sdhci on ep108
        ARM64: zynqmp: Enable watchdog on ep108
        ARM64: zynqmp: Add DWC3 usb support
        ARM64: zynqmp: Add SMMU support
        ARM64: zynqmp: Add CANs node for platform
        ARM64: zynqmp: Use zynqmp specific compatible string for gpio
        devicetree: xilinx: zynqmp: add sata node
        PCI: iproc: Fix BCMA dependency in Kconfig
        arm64: dts: Add Broadcom North Star 2 support
        arm64: Add Broadcom iProc family support
        PCI: iproc: Fix ARM64 dependency in Kconfig
        ...
      8d01b66b
    • Linus Torvalds's avatar
      Merge tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 2faf962d
      Linus Torvalds authored
      Pull ARM SoC defconfig updates from Olof Johansson:
       "We mostly keep defconfigs updates on a separate branch due to their
        tendency to conflict between platforms and this encourages more
        careful separation of code changes and config changes.
      
        Most updates here are minor tweaks, enabling new drivers for various
        platforms, and so on.  Renesas also removed one defconfig
        (marzen_defconfig)"
      
      * tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (44 commits)
        ARM: add TC2 PM support to multi_v7_defconfig
        ARM: tegra: Update multi_v7_defconfig
        ARM: tegra: Update default configuration
        ARM: at91/defconfig: at91_dt: remove ARM_AT91_ETHER
        ARM: at91/defconfig: at91_dt: enable DRM hlcdc support
        ARM: at91: at91_dt_defconfig: enable ISI and ov2640 support
        ARM: multi_v7_defconfig: Enable Allwinner P2WI, PWM, DMA_SUN6I, cryptodev
        ARM: sunxi_defconfig: Enable DMA_SUN6I, P2WI, PWM, cryptodev, EXTCON, FHANDLE
        ARM: shmobile: Enable fixed voltage regulator in shmobile_defconfig
        ARM: multi_v7_defconfig: Select MX6UL and MX7D
        ARM: prima2_defconfig: enable build for hwspinlock
        ARM: prima2_defconfig: enable build for RTC
        ARM: prima2_defconfig: enable build for misc input
        ARM: prima2_defconfig: enable build for SiRFSoC SDHC host
        ARM: prima2_defconfig: fix the outdated defconfig
        ARM: imx_v6_v7_defconfig: Select CONFIG_IKCONFIG_PROC
        ARM: defconfig: orion5x: add DT support
        ARM: qcom_defconfig: Enable options for KS8851 ethernet
        ARM: multi_v7_defconfig: Enable support for PWM Regulators
        ARM: multi_v7_defconfig: Enable ST's PWM driver
        ...
      2faf962d