Message ID | d68e8dd3-f4f6-1999-ed51-37d445530a78@canonical.com |
---|---|
State | New |
Headers | show |
On Wed, Aug 02, 2017 at 05:27:23PM +0200, Chris MacNaughton wrote: > BugLink: https://launchpad.net/ubuntu/+source/linux/+bug/1708120 > > As with previous generations of this device (see > https://patchwork.kernel.org/patch/7887361/), the ITE > HID Sensor Hub, responsible for the accelerometer and als sensor, > requires a quirk entry. > > Without the entry, the Sensor Hub can't be accessed and the kernel fails > to report any movements. As a result > iio-sensor-proxy receives no new data. > > It shall additionally be noted that the i2c-hid 'sleep' bug (present > since kernel ver. 4.3) > still affects the driver. This means that the sensor hub will not report > any movement, until > the device is suspended and resumed. > > Signed-off-by: Patrick Pedersen <ctx.xda@gmail.com> > Signed-off-by: Chris MacNaughton <chris.macnaughton@canonical.com> I get the impression from the mailing list discussion that upstream may end up going a different way with this fix, but it looks safe enough so I don't see any reason we can't use this version until that happens. The patch was mangled by your mailer though, and I ended up grabbing the patch from patchwork. Applied as "UBUNTU: SAUCE: (no-up) HID: Add quirk for Lenovo Yoga 910 with ITE Chips" to artful and unstable, thanks.
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index d3793867adae..495de6227cf7 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -555,6 +555,7 @@ #define USB_DEVICE_ID_ITE_LENOVO_YOGA 0x8386 #define USB_DEVICE_ID_ITE_LENOVO_YOGA2 0x8350 #define USB_DEVICE_ID_ITE_LENOVO_YOGA900 0x8396 +#define USB_DEVICE_ID_ITE_LENOVO_YOGA910 0x8186 #define USB_VENDOR_ID_JABRA 0x0b0e #define USB_DEVICE_ID_JABRA_SPEAK_410 0x0412 diff --git a/drivers/hid/hid-sensor-hub.c b/drivers/hid/hid-sensor-hub.c index 4ef73374a8f9..85b8425483bd 100644 --- a/drivers/hid/hid-sensor-hub.c +++ b/drivers/hid/hid-sensor-hub.c @@ -820,6 +820,9 @@ static const struct hid_device_id sensor_hub_devices[] = { { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, USB_VENDOR_ID_ITE, USB_DEVICE_ID_ITE_LENOVO_YOGA900), .driver_data = HID_SENSOR_HUB_ENUM_QUIRK}, + { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, USB_VENDOR_ID_ITE, + USB_DEVICE_ID_ITE_LENOVO_YOGA910), + .driver_data = HID_SENSOR_HUB_ENUM_QUIRK}, { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, USB_VENDOR_ID_INTEL_0, 0x22D8),