03 May, 2017

1 commit

  • Pull trivial tree updates from Jiri Kosina.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial:
    tty: fix comment for __tty_alloc_driver()
    init/main: properly align the multi-line comment
    init/main: Fix double "the" in comment
    Fix dead URLs to ftp.kernel.org
    drivers: Clean up duplicated email address
    treewide: Fix typo in xml/driver-api/basics.xml
    tools/testing/selftests/powerpc: remove redundant CFLAGS in Makefile: "-Wall -O2 -Wall" -> "-O2 -Wall"
    selftests/timers: Spelling s/privledges/privileges/
    HID: picoLCD: Spelling s/REPORT_WRTIE_MEMORY/REPORT_WRITE_MEMORY/
    net: phy: dp83848: Fix Typo
    UBI: Fix typos
    Documentation: ftrace.txt: Correct nice value of 120 priority
    net: fec: Fix typo in error msg and comment
    treewide: Fix typos in printk

    Linus Torvalds
     

02 May, 2017

3 commits


26 Apr, 2017

1 commit


20 Apr, 2017

1 commit

  • It apears that devices designed around Wacom's G11 chipset (e.g. Lenovo
    ThinkPad Yoga 260, Lenovo ThinkPad X1 Yoga, Dell XPS 12 9250, Dell Venue
    8 Pro 5855, etc.) suffer from a common issue in their HID descriptors.
    The logical maximum is not updated for the "Contact Identifier" usage,
    leaving it as just "1" despite these devices being capable of tracking
    far more touches.

    Commit 60a221869803 began ignoring usages with out-of-range values,
    causing problems for devices based on this chipset. Touches after
    the first will have an out-of-range Contact Identifier, and ignoring
    that usage will cause the kernel to incorrectly slot each finger's
    events (along with all the knock-on userspace effects that entails).

    This commit checks for these buggy descriptors and updates the maximum
    where required. Prior chipsets have used "255" as the maximum (and the
    G11, at least, doesn't seem to actually use IDs outside the range of
    1..CONTACTMAX) so continue using this value.

    Cc: stable@vger.kernel.org
    Fixes: 60a221869803 ("HID: wacom: generic: add support for touchring")
    Signed-off-by: Jason Gerecke
    Signed-off-by: Jiri Kosina

    Jason Gerecke
     

19 Apr, 2017

1 commit

  • Because HID_DG_TOOLSERIALNUMBER doesn't first cast the value recieved from HID
    to an unsigned type, sign-extension rules can cause the value of
    wacom_wac->serial[0] to inadvertently wind up with all 32 of its highest bits
    set if the highest bit of "value" was set.

    This can cause problems for Tablet PC devices which use AES sensors and the
    xf86-input-wacom userspace driver. It is not uncommon for AES sensors to send a
    serial number of '0' while the pen is entering or leaving proximity. The
    xf86-input-wacom driver ignores events with a serial number of '0' since it
    cannot match them up to an in-use tool. To ensure the xf86-input-wacom driver
    does not ignore the final out-of-proximity event, the kernel does not send
    MSC_SERIAL events when the value of wacom_wac->serial[0] is '0'. If the highest
    bit of HID_DG_TOOLSERIALNUMBER is set by an in-prox pen which later leaves
    proximity and sends a '0' for HID_DG_TOOLSERIALNUMBER, then only the lowest 32
    bits of wacom_wac->serial[0] are actually cleared, causing the kernel to send
    an MSC_SERIAL event. Since the 'input_event' function takes an 'int' as
    argument, only those lowest (now-cleared) 32 bits of wacom_wac->serial[0] are
    sent to userspace, causing xf86-input-wacom to ignore the event. If the event
    was the final out-of-prox event, then xf86-input-wacom may remain in a state
    where it believes the pen is in proximity and refuses to allow other devices
    under its control (e.g. the touchscreen) to move the cursor.

    It should be noted that EMR devices and devices which use both the
    HID_DG_TOOLSERIALNUMBER and WACOM_HID_WD_SERIALHI usages (in that order) would
    be immune to this issue. It appears only AES devices are affected.

    Fixes: f85c9dc678a ("HID: wacom: generic: Support tool ID and additional tool types")
    Cc: stable@vger.kernel.org
    Signed-off-by: Jason Gerecke
    Acked-by: Benjamin Tissoires
    Signed-off-by: Jiri Kosina

    Jason Gerecke
     

13 Apr, 2017

1 commit

  • The latest USB keyboards shipped on several ASUS laptop models
    (including ROG laptop models such as GL702VMK) have the keyboards
    backlight controlled by the keyboard firmware.

    The firmware implements at least 3 different commands:
    - Init command (to use when the system starts)
    - Configuration command (to get keyboard status/information)
    - Backlight level control (to change the level of the keyboard light)

    With this patch we create the usual 'asus::kbd_backlight' led class
    entry to control the keyboard backlight.

    [jkosina@suse.cz: remove pointless cancel_work_sync() call while
    handling an error in asus_kbd_register_leds(), as spotted by
    Benjamin]

    Signed-off-by: Carlo Caione
    Reviewed-by: Benjamin Tissoires
    Signed-off-by: Jiri Kosina

    Carlo Caione
     

11 Apr, 2017

1 commit

  • This reverts commit 279967a65b320d174a507498aea7d44db3fee7f4.

    Multiple regressions [1] [2] [3] have been reported. The hid-rmi
    support would have to fixed and redone in 4.11+.

    [1] http://lkml.kernel.org/r/b79b88c8-770a-13f6-5668-c3a94254e5e0@gmail.com
    [2] http://lkml.kernel.org/r/375e67b5-2cb8-3491-1d71-d8650d6e9451@gmail.com
    [3] https://bugzilla.kernel.org/show_bug.cgi?id=195287

    Reported-by: Cameron Gutman
    Reported-by: Gabriele Mazzotta
    Reported-by: Lorenzo J. Lucchini
    Reported-by: Thorsten Leemhuis
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     

06 Apr, 2017

29 commits


30 Mar, 2017

2 commits

  • Commit 3b164a00a9fc ("HID: wacom: Cleanup unsupported device_type
    for BAMBOO_PT") cleaned up Bamboo devices which our driver falsely
    claimed had touch. Bamboo One Medium also does not have touch.

    Signed-off-by: Aaron Armstrong Skomra
    Signed-off-by: Jiri Kosina

    Aaron Armstrong Skomra
     
  • Commit a544c619a54b ("HID: wacom: do not attempt to switch mode
    while in probe") introduces delayed work for querying (setting the
    mode) on all tablets. Bamboo Touch (056a:00d0) has a ghost
    interface which claims to be a pen device. Though this device can
    be removed, we have to set the mode on the ghost pen interface
    before we remove it. After the aforementioned delay was introduced
    the device was being removed before the mode setting could be
    executed.

    Signed-off-by: Aaron Armstrong Skomra
    Signed-off-by: Jiri Kosina

    Aaron Armstrong Skomra