25 Jan, 2021

1 commit


17 Jan, 2021

1 commit

  • commit 37309f47e2f5674f3e86cb765312ace42cfcedf5 upstream.

    As reported by syzbot below, kfifo_alloc'd memory would not be freed
    if a non-zero return value is triggered in wacom_probe. This patch
    creates and uses devm_kfifo_alloc to allocate and free itself.

    BUG: memory leak
    unreferenced object 0xffff88810dc44a00 (size 512):
    comm "kworker/1:2", pid 3674, jiffies 4294943617 (age 14.100s)
    hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    backtrace:
    [] kmalloc_array include/linux/slab.h:592 [inline]
    [] __kfifo_alloc+0xad/0x100 lib/kfifo.c:43
    [] wacom_probe+0x1a1/0x3b0 drivers/hid/wacom_sys.c:2727
    [] hid_device_probe+0x16b/0x210 drivers/hid/hid-core.c:2281
    [] really_probe+0x159/0x480 drivers/base/dd.c:554
    [] driver_probe_device+0x84/0x100 drivers/base/dd.c:738
    [] __device_attach_driver+0xee/0x110 drivers/base/dd.c:844
    [] bus_for_each_drv+0xb7/0x100 drivers/base/bus.c:431
    [] __device_attach+0x122/0x250 drivers/base/dd.c:912
    [] bus_probe_device+0xc6/0xe0 drivers/base/bus.c:491
    [] device_add+0x5ac/0xc30 drivers/base/core.c:2936
    [] hid_add_device+0x151/0x390 drivers/hid/hid-core.c:2437
    [] usbhid_probe+0x412/0x560 drivers/hid/usbhid/hid-core.c:1407
    [] usb_probe_interface+0x177/0x370 drivers/usb/core/driver.c:396
    [] really_probe+0x159/0x480 drivers/base/dd.c:554
    [] driver_probe_device+0x84/0x100 drivers/base/dd.c:738
    [] __device_attach_driver+0xee/0x110 drivers/base/dd.c:844

    https://syzkaller.appspot.com/bug?extid=5b49c9695968d7250a26

    Reported-by: syzbot+5b49c9695968d7250a26@syzkaller.appspotmail.com
    Signed-off-by: Ping Cheng
    Reviewed-by: Benjamin Tissoires
    Signed-off-by: Jiri Kosina
    Signed-off-by: Greg Kroah-Hartman

    Ping Cheng
     

27 Dec, 2020

1 commit

  • Changes in 5.10.3
    net: ipconfig: Avoid spurious blank lines in boot log
    x86/split-lock: Avoid returning with interrupts enabled
    exfat: Avoid allocating upcase table using kcalloc()
    soc/tegra: fuse: Fix index bug in get_process_id
    usb: mtu3: fix memory corruption in mtu3_debugfs_regset()
    USB: serial: option: add interface-number sanity check to flag handling
    USB: gadget: f_acm: add support for SuperSpeed Plus
    USB: gadget: f_midi: setup SuperSpeed Plus descriptors
    usb: gadget: f_fs: Re-use SS descriptors for SuperSpeedPlus
    USB: gadget: f_rndis: fix bitrate for SuperSpeed and above
    usb: chipidea: ci_hdrc_imx: Pass DISABLE_DEVICE_STREAMING flag to imx6ul
    ARM: dts: exynos: fix roles of USB 3.0 ports on Odroid XU
    ARM: dts: exynos: fix USB 3.0 VBUS control and over-current pins on Exynos5410
    ARM: dts: exynos: fix USB 3.0 pins supply being turned off on Odroid XU
    coresight: tmc-etf: Fix NULL ptr dereference in tmc_enable_etf_sink_perf()
    coresight: tmc-etr: Check if page is valid before dma_map_page()
    coresight: tmc-etr: Fix barrier packet insertion for perf buffer
    coresight: etb10: Fix possible NULL ptr dereference in etb_enable_perf()
    coresight: etm4x: Skip setting LPOVERRIDE bit for qcom, skip-power-up
    coresight: etm4x: Fix accesses to TRCVMIDCTLR1
    coresight: etm4x: Fix accesses to TRCCIDCTLR1
    coresight: etm4x: Fix accesses to TRCPROCSELR
    coresight: etm4x: Handle TRCVIPCSSCTLR accesses
    f2fs: fix to seek incorrect data offset in inline data file
    f2fs: init dirty_secmap incorrectly
    scsi: megaraid_sas: Check user-provided offsets
    HID: i2c-hid: add Vero K147 to descriptor override
    serial_core: Check for port state when tty is in error state
    fscrypt: remove kernel-internal constants from UAPI header
    fscrypt: add fscrypt_is_nokey_name()
    ubifs: prevent creating duplicate encrypted filenames
    ext4: prevent creating duplicate encrypted filenames
    f2fs: prevent creating duplicate encrypted filenames
    Bluetooth: Fix slab-out-of-bounds read in hci_le_direct_adv_report_evt()
    quota: Sanity-check quota file headers on load
    fs: quota: fix array-index-out-of-bounds bug by passing correct argument to vfs_cleanup_quota_inode()
    media: msi2500: assign SPI bus number dynamically
    crypto: af_alg - avoid undefined behavior accessing salg_name
    nl80211: validate key indexes for cfg80211_registered_device
    md: fix a warning caused by a race between concurrent md_ioctl()s
    Linux 5.10.3

    Signed-off-by: Greg Kroah-Hartman
    Change-Id: Ia12e3bc535549040a55f8dfb70921d99882e79f5

    Greg Kroah-Hartman
     

26 Dec, 2020

1 commit

  • commit c870d50ce387d84b6438211a7044c60afbd5d60a upstream.

    This device uses the SIPODEV SP1064 touchpad, which does not
    supply descriptors, so it has to be added to the override list.

    Cc: stable@vger.kernel.org
    Signed-off-by: Julian Sax
    Reviewed-by: Hans de Goede
    Signed-off-by: Jiri Kosina
    Signed-off-by: Greg Kroah-Hartman

    Julian Sax
     

23 Nov, 2020

2 commits

  • Linux 5.10-rc5

    Signed-off-by: Greg Kroah-Hartman
    Change-Id: Ia5b23cceb3e0212c1c841f1297ecfab65cc9aaa6

    Greg Kroah-Hartman
     
  • Pull HID fixes from Jiri Kosina:

    - Various functionality / regression fixes for Logitech devices from
    Hans de Goede

    - Fix for (recently added) GPIO support in mcp2221 driver from Lars
    Povlsen

    - Power management handling fix/quirk in i2c-hid driver for certain
    BIOSes that have strange aproach to power-cycle from Hans de Goede

    - a few device ID additions and device-specific quirks

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid:
    HID: logitech-dj: Fix Dinovo Mini when paired with a MX5x00 receiver
    HID: logitech-dj: Fix an error in mse_bluetooth_descriptor
    HID: Add Logitech Dinovo Edge battery quirk
    HID: logitech-hidpp: Add HIDPP_CONSUMER_VENDOR_KEYS quirk for the Dinovo Edge
    HID: logitech-dj: Handle quad/bluetooth keyboards with a builtin trackpad
    HID: add HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE for Gamevice devices
    HID: mcp2221: Fix GPIO output handling
    HID: hid-sensor-hub: Fix issue with devices with no report ID
    HID: i2c-hid: Put ACPI enumerated devices in D3 on shutdown
    HID: add support for Sega Saturn
    HID: cypress: Support Varmilo Keyboards' media hotkeys
    HID: ite: Replace ABS_MISC 120/121 events with touchpad on/off keypresses
    HID: logitech-hidpp: Add PID for MX Anywhere 2
    HID: uclogic: Add ID for Trust Flex Design Tablet

    Linus Torvalds
     

19 Nov, 2020

2 commits

  • Some users are pairing the Dinovo keyboards with the MX5000 or MX5500
    receivers, instead of with the Dinovo receivers. The receivers are
    mostly the same (and the air protocol obviously is compatible) but
    currently the Dinovo receivers are handled by hid-lg.c while the
    MX5x00 receivers are handled by logitech-dj.c.

    When using a Dinovo keyboard, with its builtin touchpad, through
    logitech-dj.c then the touchpad stops working because when asking the
    receiver for paired devices, we get only 1 paired device with
    a device_type of REPORT_TYPE_KEYBOARD. And since we don't see a paired
    mouse, we have nowhere to send mouse-events to, so we drop them.

    Extend the existing fix for the Dinovo Edge for this to also cover the
    Dinovo Mini keyboard and also add a mapping to logitech-hidpp for the
    Media key on the Dinovo Mini, so that that keeps working too.

    BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1811424
    Fixes: f2113c3020ef ("HID: logitech-dj: add support for Logitech Bluetooth Mini-Receiver")
    Signed-off-by: Hans de Goede
    Signed-off-by: Benjamin Tissoires

    Hans de Goede
     
  • Fix an error in the mouse / INPUT(2) descriptor used for quad/bt2.0 combo
    receivers. Replace INPUT with INPUT (Data,Var,Abs) for the field for the
    4 extra buttons which share their report-byte with the low-res hwheel.

    This is likely a copy and paste error. I've verified that the new
    0x81, 0x02 value matches both the mouse descriptor for the currently
    supported MX5000 / MX5500 receivers, as well as the INPUT(2) mouse
    descriptors for the Dinovo receivers for which support is being
    worked on.

    Cc: stable@vger.kernel.org
    Fixes: f2113c3020ef ("HID: logitech-dj: add support for Logitech Bluetooth Mini-Receiver")
    Signed-off-by: Hans de Goede
    Signed-off-by: Benjamin Tissoires

    Hans de Goede
     

12 Nov, 2020

3 commits

  • The battery status is also being reported by the logitech-hidpp driver,
    so ignore the standard HID battery status to avoid reporting the same
    info twice.

    Note the logitech-hidpp battery driver provides more info, such as properly
    differentiating between charging and discharging. Also the standard HID
    battery info seems to be wrong, reporting a capacity of just 26% after
    fully charging the device.

    Signed-off-by: Hans de Goede
    Signed-off-by: Benjamin Tissoires

    Hans de Goede
     
  • Like the MX5000 and MX5500 quad/bluetooth keyboards the Dinovo Edge also
    needs the HIDPP_CONSUMER_VENDOR_KEYS quirk for some special keys to work.
    Specifically without this the "Phone" and the 'A' - 'D' Smart Keys do not
    send any events.

    In addition to fixing these keys not sending any events, adding the
    Bluetooth match, so that hid-logitech-hidpp is used instead of the
    generic HID driver, also adds battery monitoring support when the
    keyboard is connected over Bluetooth.

    Signed-off-by: Hans de Goede
    Signed-off-by: Benjamin Tissoires

    Hans de Goede
     
  • Some quad/bluetooth keyboards, such as the Dinovo Edge (Y-RAY81) have a
    builtin touchpad. In this case when asking the receiver for paired devices,
    we get only 1 paired device with a device_type of REPORT_TYPE_KEYBOARD.

    This means that we do not instantiate a second dj_hiddev for the mouse
    (as we normally would) and thus there is no place for us to forward the
    mouse input reports to, causing the touchpad part of the keyboard to not
    work.

    There is no way for us to detect these keyboards, so this commit adds
    an array with device-ids for such keyboards and when a keyboard is on
    this list it adds STD_MOUSE to the reports_supported bitmap for the
    dj_hiddev created for the keyboard fixing the touchpad not working.

    Using a list of device-ids for this is not ideal, but there are only
    very few such keyboards so this should be fine. Besides the Dinovo Edge,
    other known wireless Logitech keyboards with a builtin touchpad are:

    * Dinovo Mini (TODO add its device-id to the list)
    * K400 (uses a unifying receiver so is not affected)
    * K600 (uses a unifying receiver so is not affected)

    Cc: stable@vger.kernel.org
    BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1811424
    Fixes: f2113c3020ef ("HID: logitech-dj: add support for Logitech Bluetooth Mini-Receiver")
    Signed-off-by: Hans de Goede
    Signed-off-by: Benjamin Tissoires

    Hans de Goede
     

09 Nov, 2020

1 commit


05 Nov, 2020

2 commits

  • The mcp2221 driver GPIO output handling has has several issues.

    * A wrong value is used for the GPIO direction.

    * Wrong offsets are calculated for some GPIO set value/set direction
    operations, when offset is larger than 0.

    This has been fixed by introducing proper manifest constants for the
    direction encoding, and using 'offsetof' when calculating GPIO
    register offsets.

    The updated driver has been tested with the Sparx5 pcb134/pcb135
    board, which has the mcp2221 device with several (output) GPIO's.

    Fixes: 328de1c519c5c092 ("HID: mcp2221: add GPIO functionality support")
    Reviewed-by: Rishi Gupta
    Signed-off-by: Lars Povlsen
    Signed-off-by: Jiri Kosina

    Lars Povlsen
     
  • Some HID devices don't use a report ID because they only have a single
    report. In those cases, the report ID in struct hid_report will be zero
    and the data for the report will start at the first byte, so don't skip
    over the first byte.

    Signed-off-by: Pablo Ceballos
    Acked-by: Srinivas Pandruvada
    Signed-off-by: Jiri Kosina

    Pablo Ceballos
     

29 Oct, 2020

1 commit

  • The i2c-hid driver would quietly fail to probe the i2c-hid sensor-hub
    with an ACPI device-id of SMO91D0 every other boot.

    Specifically, the i2c_smbus_read_byte() "Make sure there is something at
    this address" check would fail every other boot.

    It seems that the BIOS does not properly reset/power-cycle the device
    leaving it in a confused state where it refuses to respond to i2c-xfers.
    On boots where probing the device failed, the driver-core puts the device
    in D3 after the probe-failure, which causes the probe to succeed the next
    boot.

    Putting the device in D3 from the shutdown-handler fixes the sensors not
    working every other boot.

    This has been tested on both a Lenovo Miix 2-10 and a Dell Venue 8 Pro 5830
    both of which use an i2c-hid sensor-hub with an ACPI id of SMO91D0.

    Note that it is safe to call acpi_device_set_power() with a NULL pointer
    as first argument, so on none ACPI enumerated devices this change is a
    no-op.

    Cc: Kai-Heng Feng
    Signed-off-by: Hans de Goede
    Acked-by: Kai-Heng Feng
    Signed-off-by: Jiri Kosina

    Hans de Goede
     

27 Oct, 2020

2 commits


26 Oct, 2020

1 commit


25 Oct, 2020

1 commit


24 Oct, 2020

2 commits

  • Pull input updates from Dmitry Torokhov:

    - a new driver for ADC driven joysticks

    - a new Zintix touchscreen driver

    - enhancements to Intel SoC button array driver

    - support for F3A "function" in Synaptics RMI4 driver

    - assorted driver fixups

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (29 commits)
    Input: Add MAINTAINERS entry for SiS i2c touch input driver
    Input: evdev - per-client waitgroups
    Input: synaptics - enable InterTouch for ThinkPad T14 Gen 1
    Input: synaptics - enable InterTouch for ThinkPad P1/X1E gen 2
    Input: synaptics-rmi4 - support bootloader v8 in f34v7
    Input: synaptics-rmi4 - add support for F3A
    Input: synaptics-rmi4 - rename f30_data to gpio_data
    Input: add zinitix touchscreen driver
    dt-bindings: input/touchscreen: add bindings for zinitix
    Input: joystick - add ADC attached joystick driver.
    dt-bindings: input: Add docs for ADC driven joystick
    Input: sun4i-ps2 - fix handling of platform_get_irq() error
    Input: twl4030_keypad - fix handling of platform_get_irq() error
    Input: omap4-keypad - fix handling of platform_get_irq() error
    Input: ep93xx_keypad - fix handling of platform_get_irq() error
    Input: stmfts - fix a & vs && typo
    Input: imx6ul_tsc - unify open/close and PM paths
    Input: imx6ul_tsc - clean up some errors in imx6ul_tsc_resume()
    Input: elants_i2c - fix typo for an attribute to show calibration count
    Input: elants_i2c - report resolution of ABS_MT_TOUCH_MAJOR by FW information.
    ...

    Linus Torvalds
     
  • This device needs HID_QUIRK_MULTI_INPUT in order to be presented to userspace
    in a consistent way.

    Reported-and-tested-by: David Gámiz Jiménez
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     

23 Oct, 2020

3 commits

  • The Varmilo VA104M Keyboard (04b4:07b1, reported as Varmilo Z104M)
    exposes media control hotkeys as a USB HID consumer control device, but
    these keys do not work in the current (5.8-rc1) kernel due to the
    incorrect HID report descriptor. Fix the problem by modifying the
    internal HID report descriptor.

    More specifically, the keyboard report descriptor specifies the
    logical boundary as 572~10754 (0x023c ~ 0x2a02) while the usage
    boundary is specified as 0~10754 (0x00 ~ 0x2a02). This results in an
    incorrect interpretation of input reports, causing inputs to be ignored.
    By setting the Logical Minimum to zero, we align the logical boundary
    with the Usage ID boundary.

    Some notes:

    * There seem to be multiple variants of the VA104M keyboard. This
    patch specifically targets 04b4:07b1 variant.

    * The device works out-of-the-box on Windows platform with the generic
    consumer control device driver (hidserv.inf). This suggests that
    Windows either ignores the Logical Minimum/Logical Maximum or
    interprets the Usage ID assignment differently from the linux
    implementation; Maybe there are other devices out there that only
    works on Windows due to this problem?

    Signed-off-by: Frank Yang
    Signed-off-by: Jiri Kosina

    Frank Yang
     
  • …nux/kernel/git/linusw/linux-gpio") into android-mainline

    Steps on the way to 5.10-rc1

    Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
    Change-Id: I7395903c218c84b8d629829069690a8f9f618f58

    Greg Kroah-Hartman
     
  • Pull PCI updates from Bjorn Helgaas:
    "Enumeration:
    - Print IRQ number used by PCIe Link Bandwidth Notification (Dongdong
    Liu)
    - Add schedule point in pci_read_config() to reduce max latency
    (Jiang Biao)
    - Add Kconfig options for MPS/MRRS strategy (Jim Quinlan)

    Resource management:
    - Fix pci_iounmap() memory leak when !CONFIG_GENERIC_IOMAP (Lorenzo
    Pieralisi)

    PCIe native device hotplug:
    - Reduce noisiness on hot removal (Lukas Wunner)

    Power management:
    - Revert "PCI/PM: Apply D2 delay as milliseconds, not microseconds"
    that was done on the basis of spec typo (Bjorn Helgaas)
    - Rename pci_dev.d3_delay to d3hot_delay to remove D3hot/D3cold
    ambiguity (Krzysztof Wilczyński)
    - Remove unused pcibios_pm_ops (Vaibhav Gupta)

    IOMMU:
    - Enable Translation Blocking for external devices to harden against
    DMA attacks (Rajat Jain)

    Error handling:
    - Add an ACPI APEI notifier chain for vendor CPER records to enable
    device-specific error handling (Shiju Jose)

    ASPM:
    - Remove struct aspm_register_info to simplify code (Saheed O.
    Bolarinwa)

    Amlogic Meson PCIe controller driver:
    - Build as module by default (Kevin Hilman)

    Ampere Altra PCIe controller driver:
    - Add MCFG quirk to work around non-standard ECAM implementation
    (Tuan Phan)

    Broadcom iProc PCIe controller driver:
    - Set affinity mask on MSI interrupts (Mark Tomlinson)

    Broadcom STB PCIe controller driver:
    - Make PCIE_BRCMSTB depend on ARCH_BRCMSTB (Jim Quinlan)
    - Add DT bindings for more Brcmstb chips (Jim Quinlan)
    - Add bcm7278 register info (Jim Quinlan)
    - Add bcm7278 PERST# support (Jim Quinlan)
    - Add suspend and resume pm_ops (Jim Quinlan)
    - Add control of rescal reset (Jim Quinlan)
    - Set additional internal memory DMA viewport sizes (Jim Quinlan)
    - Accommodate MSI for older chips (Jim Quinlan)
    - Set bus max burst size by chip type (Jim Quinlan)
    - Add support for bcm7211, bcm7216, bcm7445, bcm7278 (Jim Quinlan)

    Freescale i.MX6 PCIe controller driver:
    - Use dev_err_probe() to reduce redundant messages (Anson Huang)

    Freescale Layerscape PCIe controller driver:
    - Enforce 4K DMA buffer alignment in endpoint test (Hou Zhiqiang)
    - Add DT compatible strings for ls1088a, ls2088a (Xiaowei Bao)
    - Add endpoint support for ls1088a, ls2088a (Xiaowei Bao)
    - Add endpoint test support for lS1088a (Xiaowei Bao)
    - Add MSI-X support for ls1088a (Xiaowei Bao)

    HiSilicon HIP PCIe controller driver:
    - Handle HIP-specific errors via ACPI APEI (Yicong Yang)

    HiSilicon Kirin PCIe controller driver:
    - Return -EPROBE_DEFER if the GPIO isn't ready (Bean Huo)

    Intel VMD host bridge driver:
    - Factor out physical offset, bus offset, IRQ domain, IRQ allocation
    (Jon Derrick)
    - Use generic PCI PM correctly (Jon Derrick)

    Marvell Aardvark PCIe controller driver:
    - Fix compilation on s390 (Pali Rohár)
    - Implement driver 'remove' function and allow to build it as module
    (Pali Rohár)
    - Move PCIe reset card code to advk_pcie_train_link() (Pali Rohár)
    - Convert mvebu a3700 internal SMCC firmware return codes to errno
    (Pali Rohár)
    - Fix initialization with old Marvell's Arm Trusted Firmware (Pali
    Rohár)

    Microsoft Hyper-V host bridge driver:
    - Fix hibernation in case interrupts are not re-created (Dexuan Cui)

    NVIDIA Tegra PCIe controller driver:
    - Stop checking return value of debugfs_create() functions (Greg
    Kroah-Hartman)
    - Convert to use DEFINE_SEQ_ATTRIBUTE macro (Liu Shixin)

    Qualcomm PCIe controller driver:
    - Reset PCIe to work around Qsdk U-Boot issue (Ansuel Smith)

    Renesas R-Car PCIe controller driver:
    - Add DT documentation for r8a774a1, r8a774b1, r8a774e1 endpoints
    (Lad Prabhakar)
    - Add RZ/G2M, RZ/G2N, RZ/G2H IDs to endpoint test (Lad Prabhakar)
    - Add DT support for r8a7742 (Lad Prabhakar)

    Socionext UniPhier Pro5 controller driver:
    - Add DT descriptions of iATU register (host and endpoint) (Kunihiko
    Hayashi)

    Synopsys DesignWare PCIe controller driver:
    - Add link up check in dw_child_pcie_ops.map_bus() (racy, but seems
    unavoidable) (Hou Zhiqiang)
    - Fix endpoint Header Type check so multi-function devices work (Hou
    Zhiqiang)
    - Skip PCIE_MSI_INTR0* programming if MSI is disabled (Jisheng Zhang)
    - Stop leaking MSI page in suspend/resume (Jisheng Zhang)
    - Add common iATU register support instead of keystone-specific code
    (Kunihiko Hayashi)
    - Major config space access and other cleanups in dwc core and
    drivers that use it (al, exynos, histb, imx6, intel-gw, keystone,
    kirin, meson, qcom, tegra) (Rob Herring)
    - Add multiple PFs support for endpoint (Xiaowei Bao)
    - Add MSI-X doorbell mode in endpoint mode (Xiaowei Bao)

    Miscellaneous:
    - Use fallthrough pseudo-keyword (Gustavo A. R. Silva)
    - Fix "0 used as NULL pointer" warnings (Gustavo Pimentel)
    - Fix "cast truncates bits from constant value" warnings (Gustavo
    Pimentel)
    - Remove redundant zeroing for sg_init_table() (Julia Lawall)
    - Use scnprintf(), not snprintf(), in sysfs "show" functions
    (Krzysztof Wilczyński)
    - Remove unused assignments (Krzysztof Wilczyński)
    - Fix "0 used as NULL pointer" warning (Krzysztof Wilczyński)
    - Simplify bool comparisons (Krzysztof Wilczyński)
    - Use for_each_child_of_node() and for_each_node_by_name() (Qinglang
    Miao)
    - Simplify return expressions (Qinglang Miao)"

    * tag 'pci-v5.10-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (147 commits)
    PCI: vmd: Update VMD PM to correctly use generic PCI PM
    PCI: vmd: Create IRQ allocation helper
    PCI: vmd: Create IRQ Domain configuration helper
    PCI: vmd: Create bus offset configuration helper
    PCI: vmd: Create physical offset helper
    PCI: v3-semi: Remove unneeded break
    PCI: dwc: Add link up check in dw_child_pcie_ops.map_bus()
    PCI/ASPM: Remove struct pcie_link_state.l1ss
    PCI/ASPM: Remove struct aspm_register_info.l1ss_cap
    PCI/ASPM: Pass L1SS Capabilities value, not struct aspm_register_info
    PCI/ASPM: Remove struct aspm_register_info.l1ss_ctl1
    PCI/ASPM: Remove struct aspm_register_info.l1ss_ctl2 (unused)
    PCI/ASPM: Remove struct aspm_register_info.l1ss_cap_ptr
    PCI/ASPM: Remove struct aspm_register_info.latency_encoding
    PCI/ASPM: Remove struct aspm_register_info.enabled
    PCI/ASPM: Remove struct aspm_register_info.support
    PCI/ASPM: Use 'parent' and 'child' for readability
    PCI/ASPM: Move LTR path check to where it's used
    PCI/ASPM: Move pci_clear_and_set_dword() earlier
    PCI: dwc: Fix MSI page leakage in suspend/resume
    ...

    Linus Torvalds
     

22 Oct, 2020

3 commits

  • The usb-hid keyboard-dock for the Acer Switch 10 SW5-012 model declares
    an application and hid-usage page of 0x0088 for the INPUT(4) report which
    it sends. This reports contains 2 8-bit fields which are declared as
    HID_MAIN_ITEM_VARIABLE.

    The keyboard-touchpad combo never actually generates this report, except
    when the touchpad is toggled on/off with the Fn + F7 hotkey combo. The
    toggle on/off is handled inside the keyboard-dock, when the touchpad is
    toggled off it simply stops sending events.

    When the touchpad is toggled on/off an INPUT(4) report is generated with
    the first content byte set to 120/121, before this commit the kernel
    would report this as ABS_MISC 120/121 events.

    Patch the descriptor to replace the HID_MAIN_ITEM_VARIABLE with
    HID_MAIN_ITEM_RELATIVE (because no key-presss release events are send)
    and add mappings for the 0x00880078 and 0x00880079 usages to generate
    touchpad on/off key events when the touchpad is toggled on/off.

    Signed-off-by: Hans de Goede
    Signed-off-by: Jiri Kosina

    Hans de Goede
     
  • It seems that the PID 0x4072 was missing from the list Logitech gave me
    for this mouse, as I found one with it in the wild (with which I tested
    this patch).

    Fixes: 4435ff2f09a2 ("HID: logitech: Enable high-resolution scrolling on Logitech mice")
    Signed-off-by: Harry Cutts
    Acked-by: Peter Hutterer
    Signed-off-by: Jiri Kosina

    Harry Cutts
     
  • The Trust Flex Design Tablet has an UGTizer USB ID and requires the same
    initialization as the UGTizer GP0610 to be detected as a graphics tablet
    instead of a mouse.

    Signed-off-by: Martijn van de Streek
    Signed-off-by: Jiri Kosina

    Martijn van de Streek
     

16 Oct, 2020

12 commits


15 Oct, 2020

1 commit

  • Pull Hyper-V updates from Wei Liu:

    - a series from Boqun Feng to support page size larger than 4K

    - a few miscellaneous clean-ups

    * tag 'hyperv-next-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux:
    hv: clocksource: Add notrace attribute to read_hv_sched_clock_*() functions
    x86/hyperv: Remove aliases with X64 in their name
    PCI: hv: Document missing hv_pci_protocol_negotiation() parameter
    scsi: storvsc: Support PAGE_SIZE larger than 4K
    Driver: hv: util: Use VMBUS_RING_SIZE() for ringbuffer sizes
    HID: hyperv: Use VMBUS_RING_SIZE() for ringbuffer sizes
    Input: hyperv-keyboard: Use VMBUS_RING_SIZE() for ringbuffer sizes
    hv_netvsc: Use HV_HYP_PAGE_SIZE for Hyper-V communication
    hv: hyperv.h: Introduce some hvpfn helper functions
    Drivers: hv: vmbus: Move virt_to_hvpfn() to hyperv header
    Drivers: hv: Use HV_HYP_PAGE in hv_synic_enable_regs()
    Drivers: hv: vmbus: Introduce types of GPADL
    Drivers: hv: vmbus: Move __vmbus_open()
    Drivers: hv: vmbus: Always use HV_HYP_PAGE_SIZE for gpadl
    drivers: hv: remove cast from hyperv_die_event

    Linus Torvalds