03 Oct, 2015

2 commits

  • Pull input layer fixes from Dmitry Torokhov:
    "Fixes for two recent regressions (in Synaptics PS/2 and uinput
    drivers) and some more driver fixups"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Revert "Input: synaptics - fix handling of disabling gesture mode"
    Input: psmouse - fix data race in __ps2_command
    Input: elan_i2c - add all valid ic type for i2c/smbus
    Input: zhenhua - ensure we have BITREVERSE
    Input: omap4-keypad - fix memory leak
    Input: serio - fix blocking of parport
    Input: uinput - fix crash when using ABS events
    Input: elan_i2c - expand maximum product_id form 0xFF to 0xFFFF
    Input: elan_i2c - add ic type 0x03
    Input: elan_i2c - don't require known iap version
    Input: imx6ul_tsc - fix controller name
    Input: imx6ul_tsc - use the preferred method for kzalloc()
    Input: imx6ul_tsc - check for negative return value
    Input: imx6ul_tsc - propagate the errors
    Input: walkera0701 - fix abs() calculations on 64 bit values
    Input: mms114 - remove unneded semicolons
    Input: pm8941-pwrkey - remove unneded semicolon
    Input: fix typo in MT documentation
    Input: cyapa - fix address of Gen3 devices in device tree documentation

    Linus Torvalds
     
  • This reverts commit e51e38494a8ecc18650efb0c840600637891de2c: we
    actually do want the device to work in extended W mode, as this is the
    mode that allows us receiving multiple contact information.

    Cc: stable@vger.kernel.org

    Dmitry Torokhov
     

02 Oct, 2015

1 commit


30 Sep, 2015

1 commit

  • The data race happens on ps2dev->cmdcnt and ps2dev->cmdbuf contents.
    __ps2_command reads that data concurrently with the interrupt handler. As
    the result, for example, if a response arrives just after the timeout,
    __ps2_command can copy out garbage from ps2dev->cmdbuf but then see that
    ps2dev->cmdcnt is 0 and return success.

    Stop the interrupt handler with serio_pause_rx() before reading the
    results.

    The data race was found with KernelThreadSanitizer (KTSAN).

    Signed-off-by: Dmitry Vyukov
    Signed-off-by: Dmitry Torokhov

    Dmitry Vyukov
     

29 Sep, 2015

3 commits


28 Sep, 2015

1 commit

  • If parkbd_allocate_serio() fails to allocate memory we are releasing the
    parport but we missed unregistering the device. As a result this device
    with exclusive access to that parport remains registered. And no other
    device will be able to use that parport even though this driver has
    failed to load.

    Signed-off-by: Sudip Mukherjee
    Signed-off-by: Dmitry Torokhov

    Sudip Mukherjee
     

22 Sep, 2015

4 commits

  • Commit b6d30968d86c45a7bb599eaca13ff048d3fa576c (Input: uinput - switch to
    using for_each_set_bit()) switched driver to use for_each_set_bit().
    However during initial write of the uinput structure that contains min/max
    data for all possible axes none of them are reflected in dev->absbit yet
    and so we were skipping over all of them and were not allocating absinfo
    memory which caused crash later when driver tried to sens EV_ABS events:

    [ 15.064330] BUG: unable to handle kernel NULL pointer dereference at 0000000000000024
    [ 15.064336] IP: [] input_handle_event+0x232/0x4e0
    [ 15.064343] PGD 0
    [ 15.064345] Oops: 0000 [#1] SMP

    Fixes: b6d30968d86c45a7bb599eaca13ff048d3fa576c
    Cc: stable@vger.kernel.org
    Reported-by: Stephen Chandler Paul
    Tested-by: Stephen Chandler Paul
    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     
  • In order to support more projects in the future, we expand the
    maximum product_id value form 0xFF to 0xFFFF.

    Signed-off by: Duson Lin
    Signed-off-by: Dmitry Torokhov

    Duson Lin
     
  • The 0x03 is valid 3000 serial ic type too.

    Signed-off-by: Duson Lin
    Signed-off-by: Dmitry Torokhov

    Duson Lin
     
  • The Asus X456UA has an ELAN1000 touchpad with IAP version 0xe. This is
    unknown to elan_get_fwinfo() so driver probe fails and I am left with an
    unusable touchpad.

    However, the fwinfo is not required for general driver usage, it is only
    needed if the user decides to upload new firmware.

    Adjust the driver so that we do not abort probe when we encounter
    unexpected IAP version, but rather warn user that firmware update feature
    of the driver will not work.

    Signed-off-by: Daniel Drake
    Signed-off-by: Dmitry Torokhov

    Daniel Drake
     

20 Sep, 2015

7 commits


12 Sep, 2015

3 commits

  • Pull more input updates from Dmitry Torokhov:
    "Second round of updates for the input subsystem.

    This introduces two brand new touchscreen drivers (Colibri and
    imx6ul_tsc), some small driver fixes, and we are no longer report
    errors from evdev_flush() as users do not really have a way of
    handling errors, error codes that we were returning were not on the
    list of errors supposed to be returned by close(), and errors were
    causing issues with one of older versions of systemd"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: imx_keypad - remove obsolete comment
    Input: touchscreen - add imx6ul_tsc driver support
    Input: Add touchscreen support for Colibri VF50
    Input: i8042 - lower log level for "no controller" message
    Input: evdev - do not report errors form flush()
    Input: elants_i2c - extend the calibration timeout to 12 seconds
    Input: sparcspkr - fix module autoload for OF platform drivers
    Input: regulator-haptic - fix module autoload for OF platform driver
    Input: pwm-beeper - fix module autoload for OF platform driver
    Input: ab8500-ponkey - Fix module autoload for OF platform driver
    Input: cyttsp - remove unnecessary MODULE_ALIAS()
    Input: elan_i2c - add ACPI ID "ELAN1000"

    Linus Torvalds
     
  • Pull thermal updates from Zhang Rui:

    - use int instead of unsigned long to represent temperature to avoid
    bogus overheat detection when negative temperature reported. From
    Sascha Hauer.

    - export available thermal governors information to user space via
    sysfs. From Wei Ni.

    - introduce new thermal driver for Wildcat Point platform controller
    hub, which uses PCH thermal sensor and associated critical and hot
    trip points. From Tushar Dave.

    - add suuport for Intel Skylake and Denlow platforms in powerclamp
    driver.

    - some small cleanups in thermal core.

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
    thermal: Add Intel PCH thermal driver
    thermal: Add comment explaining test for critical temperature
    thermal: Use IS_ENABLED instead of #ifdef
    thermal: remove unnecessary call to thermal_zone_device_set_polling
    thermal: trivial: fix typo in comment
    thermal: consistently use int for temperatures
    thermal: add available policies sysfs attribute
    thermal/powerclamp: add cpu id for denlow platform
    thermal/powerclamp: add cpu id for Skylake u/y
    thermal/powerclamp: add cpu id for skylake h/s

    Linus Torvalds
     
  • Prepare second round of input updates for 4.3 merge window.

    Dmitry Torokhov
     

11 Sep, 2015

1 commit

  • Pull xen terminology fixes from David Vrabel:
    "Use the correct GFN/BFN terms more consistently"

    * tag 'for-linus-4.3-rc0b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    xen/xenbus: Rename the variable xen_store_mfn to xen_store_gfn
    xen/privcmd: Further s/MFN/GFN/ clean-up
    hvc/xen: Further s/MFN/GFN clean-up
    video/xen-fbfront: Further s/MFN/GFN clean-up
    xen/tmem: Use xen_page_to_gfn rather than pfn_to_gfn
    xen: Use correctly the Xen memory terminologies
    arm/xen: implement correctly pfn_to_mfn
    xen: Make clear that swiotlb and biomerge are dealing with DMA address

    Linus Torvalds
     

09 Sep, 2015

1 commit

  • Based on include/xen/mm.h [1], Linux is mistakenly using MFN when GFN
    is meant, I suspect this is because the first support for Xen was for
    PV. This resulted in some misimplementation of helpers on ARM and
    confused developers about the expected behavior.

    For instance, with pfn_to_mfn, we expect to get an MFN based on the name.
    Although, if we look at the implementation on x86, it's returning a GFN.

    For clarity and avoid new confusion, replace any reference to mfn with
    gfn in any helpers used by PV drivers. The x86 code will still keep some
    reference of pfn_to_mfn which may be used by all kind of guests
    No changes as been made in the hypercall field, even
    though they may be invalid, in order to keep the same as the defintion
    in xen repo.

    Note that page_to_mfn has been renamed to xen_page_to_gfn to avoid a
    name to close to the KVM function gfn_to_page.

    Take also the opportunity to simplify simple construction such
    as pfn_to_mfn(page_to_pfn(page)) into xen_page_to_gfn. More complex clean up
    will come in follow-up patches.

    [1] http://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff;h=e758ed14f390342513405dd766e874934573e6cb

    Signed-off-by: Julien Grall
    Reviewed-by: Stefano Stabellini
    Acked-by: Dmitry Torokhov
    Acked-by: Wei Liu
    Signed-off-by: David Vrabel

    Julien Grall
     

06 Sep, 2015

4 commits


05 Sep, 2015

2 commits

  • Pull input subsystem updates from Dmitry Torokhov:
    "Drivers, drivers, drivers... No interesting input core changes this
    time"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (74 commits)
    Input: elan_i2c - use iap_version to get firmware information
    Input: max8997_haptic - fix module alias
    Input: elan_i2c - fix typos for validpage_count
    Input: psmouse - add small delay for IBM trackpoint pass-through mode
    Input: synaptics - fix handling of disabling gesture mode
    Input: elan_i2c - enable ELAN0100 acpi panels
    Input: gpio-keys - report error when disabling unsupported key
    Input: sur40 - fix error return code
    Input: sentelic - silence some underflow warnings
    Input: zhenhua - switch to using bitrev8()
    Input: cros_ec_keyb - replace KEYBOARD_CROS_EC dependency
    Input: cap11xx - add LED support
    Input: elants_i2c - fix for devm_gpiod_get API change
    Input: elan_i2c - enable asynchronous probing
    Input: elants_i2c - enable asynchronous probing
    Input: elants_i2c - wire up regulator support
    Input: do not emit unneeded EV_SYN when suspending
    Input: elants_i2c - disable idle mode before updating firmware
    MAINTAINERS: Add maintainer for atmel_mxt_ts
    Input: atmel_mxt_ts - remove warning on zero T44 count
    ...

    Linus Torvalds
     
  • Pull sound updates from Takashi Iwai:
    "There are little changes in core part, but lots of development are
    found in drivers, especially ASoC. The diffstat shows regmap-related
    changes for a slight API additions / changes, and that's all.

    Looking at the code size statistics, the most significant addition is
    for Intel Skylake. (Note that SKL support is still underway, the
    codec driver is missing.) Also STI controller driver is a major
    addition as well as a few new codec drivers.

    In HD-audio side, there are fewer changes than the past. The
    noticeable change is the support of ELD notification from i915
    graphics driver. Thus this pull request carries a few changes in
    drm/i915.

    Other than that, USB-audio got a rewrite of runtime PM code. It was
    initiated by lockdep warning, but resulted in a good cleanup in the
    end.

    Below are the highlights:

    Common:
    - Factoring out of AC'97 reset code from ASoC into the core helper
    - A few regmap API extensions (in case it's not pulled yet)

    ASoC:
    - New drivers for Cirrus CS4349, GTM601, InvenSense ICS43432, Realtek
    RT298 and ST STI controllers
    - Machine drivers for Rockchip systems with MAX98090 and RT5645 and
    RT5650
    - Initial driver support for Intel Skylake devices
    - Lots of rsnd cleanup and enhancements
    - A few DAPM fixes and cleanups
    - A large number of cleanups in various drivers (conversion and
    standardized to regmap, component) mostly by Lars-Peter and Axel

    HD-audio:
    - Extended HD-audio core for Intel Skylake controller support
    - Quirks for Dell headsets, Alienware 15
    - Clean up of pin-based quirk tables for Realtek codecs
    - ELD notifier implenetation for Intel HDMI/DP

    USB-audio:
    - Refactor runtime PM code to make lockdep happier"

    * tag 'sound-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (411 commits)
    drm/i915: Add locks around audio component bind/unbind
    drm/i915: Drop port_mst_index parameter from pin/eld callback
    ALSA: hda - Fix missing inline for dummy snd_hdac_set_codec_wakeup()
    ALSA: hda - Wake the codec up on pin/ELD notify events
    ALSA: hda - allow codecs to access the i915 pin/ELD callback
    drm/i915: Call audio pin/ELD notify function
    drm/i915: Add audio pin sense / ELD callback
    ASoC: zx296702-i2s: Fix resource leak when unload module
    ASoC: sti_uniperif: Ensure component is unregistered when unload module
    ASoC: au1x: psc-i2s: Convert to use devm_ioremap_resource
    ASoC: sh: dma-sh7760: Convert to devm_snd_soc_register_platform
    ASoC: spear_pcm: Use devm_snd_dmaengine_pcm_register to fix resource leak
    ALSA: fireworks/bebob/dice/oxfw: fix substreams counting at vmalloc failure
    ASoC: Clean up docbook warnings
    ASoC: txx9: Convert to devm_snd_soc_register_platform
    ASoC: pxa: Convert to devm_snd_soc_register_platform
    ASoC: nuc900: Convert to devm_snd_soc_register_platform
    ASoC: blackfin: Convert to devm_snd_soc_register_platform
    ASoC: au1x: Convert to devm_snd_soc_register_platform
    ASoC: qcom: Constify asoc_qcom_lpass_cpu_dai_ops
    ...

    Linus Torvalds
     

04 Sep, 2015

10 commits

  • We've got bug reports showing the old systemd-logind (at least
    system-210) aborting unexpectedly, and this turned out to be because
    of an invalid error code from close() call to evdev devices. close()
    is supposed to return only either EINTR or EBADFD, while the device
    returned ENODEV. logind was overreacting to it and decided to kill
    itself when an unexpected error code was received. What a tragedy.

    The bad error code comes from flush fops, and actually evdev_flush()
    returns ENODEV when device is disconnected or client's access to it is
    revoked. But in these cases the fact that flush did not actually happen is
    not an error, but rather normal behavior. For non-disconnected devices
    result of flush is also not that interesting as there is no potential of
    data loss and even if it fails application has no way of handling the
    error. Because of that we are better off always returning success from
    evdev_flush().

    Also returning EINTR from flush()/close() is discouraged (as it is not
    clear how application should handle this error), so let's stop taking
    evdev->mutex interruptibly.

    Bugzilla: http://bugzilla.suse.com/show_bug.cgi?id=939834
    Cc:
    Signed-off-by: Takashi Iwai
    Signed-off-by: Dmitry Torokhov

    Takashi Iwai
     
  • The 23 inch device found in Chrome project buddy requires 9.2~10.5 seconds
    to complete calibration. Let's increase calibration timeout to 12 seconds
    to give the device enough time.

    Signed-off-by: James Chen
    Signed-off-by: Dmitry Torokhov

    James Chen
     
  • These platform drivers have a OF device ID table but the OF module
    alias information is not created so module autoloading won't work.

    Signed-off-by: Luis de Bethencourt
    Signed-off-by: Dmitry Torokhov

    Luis de Bethencourt
     
  • Pull MIPS updates from Ralf Baechle:
    "This is the main pull request for 4.3 for MIPS. Here's the summary:

    Three fixes that didn't make 4.2-stable:

    - a -Os build might compile the kernel using the MIPS16 instruction
    set but the R2 optimized inline functions in are
    implemented using 32-bit wide instructions which is invalid.

    - a build error in pgtable-bits.h for a particular kernel
    configuration.

    - accessing registers of the CM GCR might have been compiled to use
    64 bit accesses but these registers are onl 32 bit wide.

    And also a few new bits:

    - move the ATH79 GPIO driver to drivers/gpio

    - the definition of IRQCHIP_DECLARE has moved to linux/irqchip.h,
    change ATH79 accordingly.

    - fix definition of pgprot_writecombine

    - add an implementation of dma_map_ops.mmap

    - fix alignment of quiet build output for vmlinuz link

    - BCM47xx: Use kmemdup rather than duplicating its implementation

    - Netlogic: Fix 0x0x prefixes of constants.

    - merge Bjorn Helgaas' series to remove most of the weak keywords
    from function declarations.

    - CP0 and CP1 registers are best considered treated as unsigned
    values to avoid large values from becoming negative values.

    - improve support for the MIPS GIC timer.

    - enable common clock framework for Malta and SEAD3.

    - a number of improvments and fixes to dump_tlb().

    - document the MIPS TLB dump functionality in Magic SysRq.

    - Cavium Octeon CN68XX improvments.

    - NetLogic improvments.

    - irq: Use access helper irq_data_get_affinity_mask.

    - handle MSA unaligned accesses.

    - a number of R6-related math-emu fixes.

    - support for I6400.

    - improvments to MSA support.

    - add uprobes support.

    - move from deprecated __initcall to arch_initcall.

    - remove finish_arch_switch().

    - IRQ cleanups by Thomas Gleixner.

    - migrate to new 'set-state' interface.

    - random small cleanups"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (148 commits)
    MIPS: UAPI: Fix unrecognized opcode WSBH/DSBH/DSHD when using MIPS16.
    MIPS: Fix alignment of quiet build output for vmlinuz link
    MIPS: math-emu: Remove unused handle_dsemul function declaration
    MIPS: math-emu: Add support for the MIPS R6 MAX{, A} FPU instruction
    MIPS: math-emu: Add support for the MIPS R6 MIN{, A} FPU instruction
    MIPS: math-emu: Add support for the MIPS R6 CLASS FPU instruction
    MIPS: math-emu: Add support for the MIPS R6 RINT FPU instruction
    MIPS: math-emu: Add support for the MIPS R6 MSUBF FPU instruction
    MIPS: math-emu: Add support for the MIPS R6 MADDF FPU instruction
    MIPS: math-emu: Add support for the MIPS R6 SELNEZ FPU instruction
    MIPS: math-emu: Add support for the MIPS R6 SELEQZ FPU instruction
    MIPS: math-emu: Add support for the CMP.condn.fmt R6 instruction
    MIPS: inst.h: Add new MIPS R6 FPU opcodes
    MIPS: Octeon: Fix management port MII address on Kontron S1901
    MIPS: BCM47xx: Use kmemdup rather than duplicating its implementation
    STAGING: Octeon: Use common helpers for determining interface and port
    MIPS: Octeon: Support interfaces 4 and 5
    MIPS: Octeon: Set up 1:1 mapping between CN68XX PKO queues and ports
    MIPS: Octeon: Initialize CN68XX PKO
    STAGING: Octeon: Support CN68XX style WQE
    ...

    Linus Torvalds
     
  • This platform driver has a OF device ID table but the OF module
    alias information is not created so module autoloading won't work.

    Signed-off-by: Luis de Bethencourt
    Signed-off-by: Dmitry Torokhov

    Luis de Bethencourt
     
  • This platform driver has a OF device ID table but the OF module
    alias information is not created so module autoloading won't work.

    Signed-off-by: Luis de Bethencourt
    Signed-off-by: Dmitry Torokhov

    Luis de Bethencourt
     
  • This platform driver has a OF device ID table but the OF module
    alias information is not created so module autoloading won't work.

    Signed-off-by: Luis de Bethencourt
    Signed-off-by: Dmitry Torokhov

    Luis de Bethencourt
     
  • The drivers have a I2C device ID table that is used to create the module
    aliases and also "cyttsp" and "cyttsp4" are not supported I2C device IDs
    so these module aliases are never used.

    Signed-off-by: Javier Martinez Canillas
    Signed-off-by: Dmitry Torokhov

    Javier Martinez Canillas
     
  • This ACPI ID present in the DSDT of the ASUS E202SA laptop.

    Signed-off-by: João Paulo Rechi Vita
    Signed-off-by: Dmitry Torokhov

    João Paulo Rechi Vita
     
  • Prepare first round of input updates for 4.3 merge window.

    Dmitry Torokhov