• Fernando D S Lima's avatar
    HID: sensor-hub: Fixup for Lenovo ThinkPad Helix 2 sensor hub report · 9fe8ecca
    Fernando D S Lima authored
    There is an error in the report descriptor of the Thinkpad Helix 2 where
    logical minimum value (557376) is greater than logical maximum (491200)
    for all of the magnetic flux axis data fields. This error results in a
    report descriptor parsing failure that causes the sensors attached to the
    hub not to be detected.
    
    dmesg excerpt:
    [   19.866905] drivers/hid/hid-core.c: logical range invalid 0x88140 0x77ec0
    [   19.866914] hid-sensor-hub 0018:2047:0855.0007: item 0 1 0 8 parsing failed
    [   19.866926] hid-sensor-hub 0018:2047:0855.0007: parse failed
    [   19.866933] hid-sensor-hub: probe of 0018:2047:0855.0007 failed with error -22
    
    Add a report fixup to change magnetic flux logical minimums to -557376
    for the parsing to succeed and the sensors to get detected.
    After applying the fix the sensors get detected, with corresponding drivers
    (hid-accel-3d,hid-gyro-3d,etc) loaded, and its possible to read their values.
    Signed-off-by: default avatarFernando D S Lima <fernandodsl@gmail.com>
    Reviewed-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    9fe8ecca
hid-sensor-hub.c 23.5 KB