<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/hid, branch v3.12.26</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/hid?h=v3.12.26</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/hid?h=v3.12.26'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-07-02T10:06:12Z</updated>
<entry>
<title>HID: core: fix validation of report id 0</title>
<updated>2014-07-02T10:06:12Z</updated>
<author>
<name>Kees Cook</name>
<email>keescook@chromium.org</email>
</author>
<published>2014-04-17T20:22:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ebbc3be9379379d54253786aac627a492de3c7f7'/>
<id>urn:sha1:ebbc3be9379379d54253786aac627a492de3c7f7</id>
<content type='text'>
commit 1b15d2e5b8077670b1e6a33250a0d9577efff4a5 upstream.

Some drivers use the first HID report in the list instead of using an
index. In these cases, validation uses ID 0, which was supposed to mean
"first known report". This fixes the problem, which was causing at least
the lgff family of devices to stop working since hid_validate_values
was being called with ID 0, but the devices used single numbered IDs
for their reports:

0x05, 0x01,         /*  Usage Page (Desktop),                   */
0x09, 0x05,         /*  Usage (Gamepad),                        */
0xA1, 0x01,         /*  Collection (Application),               */
0xA1, 0x02,         /*      Collection (Logical),               */
0x85, 0x01,         /*          Report ID (1),                  */
...

Reported-by: Simon Wood &lt;simon@mungewell.org&gt;
Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;
Reviewed-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: add NO_INIT_REPORTS quirk for Synaptics Touch Pad V 103S</title>
<updated>2014-05-29T09:38:14Z</updated>
<author>
<name>Hans de Goede</name>
<email>hdegoede@redhat.com</email>
</author>
<published>2014-05-02T17:48:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f0d5a953d2257915fe80ee04f7c9f0e1b021a3ee'/>
<id>urn:sha1:f0d5a953d2257915fe80ee04f7c9f0e1b021a3ee</id>
<content type='text'>
commit 2f433083e854ec72c19dc9b0e1cebcc8e230fd75 upstream.

This touchpad seriously dislikes init reports, not only timeing out, but
also refusing to work after this.

Reported-and-tested-by: Vincent Fortier &lt;th0ma7@gmail.com&gt;
Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Reviewed-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: core: do not scan constant input report</title>
<updated>2014-05-29T09:38:13Z</updated>
<author>
<name>Benjamin Tissoires</name>
<email>benjamin.tissoires@redhat.com</email>
</author>
<published>2014-03-31T17:27:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3802414792ab9256690acb4897e02102fb4bab67'/>
<id>urn:sha1:3802414792ab9256690acb4897e02102fb4bab67</id>
<content type='text'>
commit e24d0d399b2fce71b627043e900ef28283850482 upstream.

The Microsoft Surface Type/Touch Cover 2 is a fancy device which advertised
itself as a multitouch device but with constant input reports.
This way, hid_scan_report() gives the group MULTITOUCH to it, but
hid-multitouch can not handle it due to the constant collection ignored
by hid-input.

To prevent such crap in the future, and while we do not fix this particular
device, make the scan_report coherent with hid-input.c, and ignore constant
input reports.

Signed-off-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: usbhid: quirk for CY-TM75 75 inch Touch Overlay</title>
<updated>2014-05-23T08:16:45Z</updated>
<author>
<name>Yufeng Shen</name>
<email>miletus@chromium.org</email>
</author>
<published>2014-01-27T23:02:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=aea22946135c7373d20d12d7c16470679b4c7455'/>
<id>urn:sha1:aea22946135c7373d20d12d7c16470679b4c7455</id>
<content type='text'>
commit 29191039e21f66e204acffed63c486674a1918bd upstream.

There is timeout error during initialization:
kernel: [   11.733104] hid-multitouch 0003:1870:0110.0001: usb_submit_urb(ctrl) failed: -1
kernel: [   11.734093] hid-multitouch 0003:1870:0110.0001: timeout initializing reports

Adding quirk HID_QUIRK_NO_INIT_REPORTS can solve the problem.

Signed-off-by: Yufeng Shen &lt;miletus@chromium.org&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: add support for SiS multitouch panel in the touch monitor LG 23ET83V</title>
<updated>2014-05-23T08:16:41Z</updated>
<author>
<name>Emanuel Krenz</name>
<email>emanuelkrenz@web.de</email>
</author>
<published>2013-12-13T13:51:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=50b058b07dfb457304baffd7770370558f5fad44'/>
<id>urn:sha1:50b058b07dfb457304baffd7770370558f5fad44</id>
<content type='text'>
commit 954bb3da814e794f546f55449c508299a127fef8 upstream.

[jkosina@suse.cz: refresh to apply after SIS quirk merging]
Signed-off-by: Emanuel Krenz &lt;emanuelkrenz@web.de&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;

Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: usbhid: quirk for Synaptics Quad HD touchscreen</title>
<updated>2014-05-23T08:16:14Z</updated>
<author>
<name>AceLan Kao</name>
<email>acelan.kao@canonical.com</email>
</author>
<published>2013-11-27T02:05:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=cc54585cd1f345dd07e73d48605d29c2f06388c2'/>
<id>urn:sha1:cc54585cd1f345dd07e73d48605d29c2f06388c2</id>
<content type='text'>
commit 12f508aede4bda5d20a2dd3ff3deb16ef47a97e9 upstream.

Add Synaptics HD touchscreen(06cb:1ac3) to no init report quirk

Signed-off-by: AceLan Kao &lt;acelan.kao@canonical.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: usbhid: quirk for Synaptics HD touchscreen</title>
<updated>2014-05-23T08:16:13Z</updated>
<author>
<name>AceLan Kao</name>
<email>acelan.kao@canonical.com</email>
</author>
<published>2013-11-27T02:05:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c0ceae2e7e385aa13b823a978b39226850f001ef'/>
<id>urn:sha1:c0ceae2e7e385aa13b823a978b39226850f001ef</id>
<content type='text'>
commit d8e2e7581d2521910398c4c80d7a3b78e84da7d5 upstream.

Add Synaptics HD touchscreen(06cb:0ac3) to no init report quirk.

Signed-off-by: AceLan Kao &lt;acelan.kao@canonical.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: usbhid: fix sis quirk</title>
<updated>2014-05-23T08:16:07Z</updated>
<author>
<name>Wanlong Gao</name>
<email>gaowanlong@cn.fujitsu.com</email>
</author>
<published>2013-12-02T15:19:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=08da1b36cb0452b489657a0164db12fd3d44c273'/>
<id>urn:sha1:08da1b36cb0452b489657a0164db12fd3d44c273</id>
<content type='text'>
commit 6d16e9c301290268b92ce3d48114f982e9c4b00a upstream.

Since commit 765e5fbd merged the sis quirk,
then USB_VENDOR_ID_SIS2_TOUCH remains undefined.

Reported-by: Fengguang Wu &lt;fengguang.wu@intel.com&gt;
Signed-off-by: Wanlong Gao &lt;gaowanlong@cn.fujitsu.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: usbhid: merge the sis quirk</title>
<updated>2014-05-23T08:11:52Z</updated>
<author>
<name>AceLan Kao</name>
<email>acelan.kao@canonical.com</email>
</author>
<published>2013-11-27T02:05:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f49f5d56ccdeeccd1f3a245edbf189e5dc83f9eb'/>
<id>urn:sha1:f49f5d56ccdeeccd1f3a245edbf189e5dc83f9eb</id>
<content type='text'>
commit 765e5fbd3e04ba753b2585e9f852fdcd34b95d10 upstream.

USB_VENDOR_ID_SIS and USB_VENDOR_ID_SIS2_TOUCH are identical,
so refine the code and merge the quirks.

Signed-off-by: AceLan Kao &lt;acelan.kao@canonical.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: hidraw: fix warning destroying hidraw device files after parent</title>
<updated>2014-03-31T12:22:23Z</updated>
<author>
<name>Fernando Luis Vazquez Cao</name>
<email>fernando@oss.ntt.co.jp</email>
</author>
<published>2014-02-26T07:51:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=49ae3ce036a7bbaad86c36b1f8b1cfabe005cd05'/>
<id>urn:sha1:49ae3ce036a7bbaad86c36b1f8b1cfabe005cd05</id>
<content type='text'>
commit 47587fc098451c2100dc1fb618855fc2e2d937af upstream.

I noticed that after hot unplugging a Logitech unifying receiver
(drivers/hid/hid-logitech-dj.c) the kernel would occasionally spew a
stack trace similar to this:

usb 1-1.1.2: USB disconnect, device number 7
WARNING: CPU: 0 PID: 2865 at fs/sysfs/group.c:216 device_del+0x40/0x1b0()
sysfs group ffffffff8187fa20 not found for kobject 'hidraw0'
[...]
CPU: 0 PID: 2865 Comm: upowerd Tainted: G        W 3.14.0-rc4 #7
Hardware name: LENOVO 7783PN4/        , BIOS 9HKT43AUS 07/11/2011
 0000000000000009 ffffffff814cd684 ffff880427ccfdf8 ffffffff810616e7
 ffff88041ec61800 ffff880427ccfe48 ffff88041e444d80 ffff880426fab8e8
 ffff880429359960 ffffffff8106174c ffffffff81714b98 0000000000000028
Call Trace:
 [&lt;ffffffff814cd684&gt;] ? dump_stack+0x41/0x51
 [&lt;ffffffff810616e7&gt;] ? warn_slowpath_common+0x77/0x90
 [&lt;ffffffff8106174c&gt;] ? warn_slowpath_fmt+0x4c/0x50
 [&lt;ffffffff81374fd0&gt;] ? device_del+0x40/0x1b0
 [&lt;ffffffff8137516f&gt;] ? device_unregister+0x2f/0x50
 [&lt;ffffffff813751fa&gt;] ? device_destroy+0x3a/0x40
 [&lt;ffffffffa03ca245&gt;] ? drop_ref+0x55/0x120 [hid]
 [&lt;ffffffffa03ca3e6&gt;] ? hidraw_release+0x96/0xb0 [hid]
 [&lt;ffffffff811929da&gt;] ? __fput+0xca/0x210
 [&lt;ffffffff8107fe17&gt;] ? task_work_run+0x97/0xd0
 [&lt;ffffffff810139a9&gt;] ? do_notify_resume+0x69/0xa0
 [&lt;ffffffff814dbd22&gt;] ? int_signal+0x12/0x17
---[ end trace 63f4a46f6566d737 ]---

During device removal hid_disconnect() is called via hid_hw_stop() to
stop the device and free all its resources, including the sysfs
files. The problem is that if a user space process, such as upowerd,
holds a reference to a hidraw file the corresponding sysfs files will
be kept around (drop_ref() does not call device_destroy() if the open
counter is not 0) and it will be usb_disconnect() who, by calling
device_del() for the USB device, will indirectly remove the sysfs
files of the hidraw device (sysfs_remove_dir() is recursive these
days). Because of this, by the time user space releases the last
reference to the hidraw file and drop_ref() tries to destroy the
device the sysfs files are already gone and the kernel will print
the warning above.

Fix this by calling device_destroy() at USB disconnect time.

Signed-off-by: Fernando Luis Vazquez Cao &lt;fernando@oss.ntt.co.jp&gt;
Reviewed-by: David Herrmann &lt;dh.herrmann@gmail.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
</feed>
