<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/hid/usbhid, branch linux-5.16.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.16.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.16.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2021-09-01T20:00:06Z</updated>
<entry>
<title>Merge branch 'for-5.15/core' into for-linus</title>
<updated>2021-09-01T20:00:06Z</updated>
<author>
<name>Jiri Kosina</name>
</author>
<published>2021-09-01T20:00:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dab6e4f452c2fd45c15c701e6f7be665a72c7add'/>
<id>urn:sha1:dab6e4f452c2fd45c15c701e6f7be665a72c7add</id>
<content type='text'>
- Regression fix for an issue in HID core that got uncovered by recent USB core
  cleanup leading to issues when transfer_buffer_length is not in line with wLength
- Memory leak fix in USB HID core
- Improvement of stylus battery reporting
</content>
</entry>
<entry>
<title>HID: usbhid: Simplify code in hid_submit_ctrl()</title>
<updated>2021-09-01T18:52:32Z</updated>
<author>
<name>Alan Stern</name>
</author>
<published>2021-09-01T16:36:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d2f311ec91984adb219ac6985d4dd72c37ae734d'/>
<id>urn:sha1:d2f311ec91984adb219ac6985d4dd72c37ae734d</id>
<content type='text'>
This patch makes a small simplification to the code in
hid_submit_ctrl().  The test for maxpacket being &gt; 0 is unnecessary,
because endpoint 0 always has a maxpacket value which is &gt;= 8.

Furthermore, endpoint 0's maxpacket value is always a power of 2, so
instead of open-coding the round-to-next-multiple computation we can
call the optimized round_up() routine.

Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Tested-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Acked-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: usbhid: Fix warning caused by 0-length input reports</title>
<updated>2021-09-01T18:52:31Z</updated>
<author>
<name>Alan Stern</name>
</author>
<published>2021-09-01T16:36:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0a824efdb724e07574bafcd2c2486b2a3de35ff6'/>
<id>urn:sha1:0a824efdb724e07574bafcd2c2486b2a3de35ff6</id>
<content type='text'>
Syzbot found a warning caused by hid_submit_ctrl() submitting a
control request to transfer a 0-length input report:

	usb 1-1: BOGUS control dir, pipe 80000280 doesn't match bRequestType a1

(The warning message is a little difficult to understand.  It means
that the control request claims to be for an IN transfer but this
contradicts the USB spec, which requires 0-length control transfers
always to be in the OUT direction.)

Now, a zero-length report isn't good for anything and there's no
reason for a device to have one, but the fuzzer likes to pick out
these weird edge cases.  In the future, perhaps we will decide to
reject 0-length reports at probe time.  For now, the simplest approach
for avoiding these warnings is to pretend that the report actually has
length 1.

Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Reported-and-tested-by: syzbot+9b57a46bf1801ce2a2ca@syzkaller.appspotmail.com
Tested-by: Oleksandr Natalenko &lt;oleksandr@natalenko.name&gt;
Tested-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Acked-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: usbhid: Fix flood of "control queue full" messages</title>
<updated>2021-09-01T18:52:31Z</updated>
<author>
<name>Michal Kubecek</name>
</author>
<published>2021-09-01T16:35:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5049307d37a760e304ad191c5dc7c6851266d2f8'/>
<id>urn:sha1:5049307d37a760e304ad191c5dc7c6851266d2f8</id>
<content type='text'>
[patch description by Alan Stern]

Commit 7652dd2c5cb7 ("USB: core: Check buffer length matches wLength
for control transfers") causes control URB submissions to fail if the
transfer_buffer_length value disagrees with the setup packet's wLength
valuel.  Unfortunately, it turns out that the usbhid can trigger this
failure mode when it submits a control request for an input report: It
pads the transfer buffer size to a multiple of the maxpacket value but
does not increase wLength correspondingly.

These failures have caused problems for people using an APS UPC, in
the form of a flood of log messages resembling:

	hid-generic 0003:051D:0002.0002: control queue full

This patch fixes the problem by setting the wLength value equal to the
padded transfer_buffer_length value in hid_submit_ctrl().  As a nice
bonus, the code which stores the transfer_buffer_length value is now
shared between the two branches of an "if" statement, so it can be
de-duplicated.

Signed-off-by: Michal Kubecek &lt;mkubecek@suse.cz&gt;
Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Fixes: 7652dd2c5cb7 ("USB: core: Check buffer length matches wLength for control transfers")
Tested-by: Oleksandr Natalenko &lt;oleksandr@natalenko.name&gt;
Tested-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Acked-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: Kconfig: Fix spelling mistake "Uninterruptable" -&gt; "Uninterruptible"</title>
<updated>2021-07-28T09:41:57Z</updated>
<author>
<name>Colin Ian King</name>
</author>
<published>2021-07-19T10:27:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0818ec1f508fc3b8e957f6c7f77b988c5bc24da7'/>
<id>urn:sha1:0818ec1f508fc3b8e957f6c7f77b988c5bc24da7</id>
<content type='text'>
There is a spelling mistake in the Kconfig text. Fix it.

Signed-off-by: Colin Ian King &lt;colin.king@canonical.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>HID: usbhid: free raw_report buffers in usbhid_stop</title>
<updated>2021-07-28T09:31:40Z</updated>
<author>
<name>Anirudh Rayabharam</name>
</author>
<published>2021-06-23T18:40:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f7744fa16b96da57187dc8e5634152d3b63d72de'/>
<id>urn:sha1:f7744fa16b96da57187dc8e5634152d3b63d72de</id>
<content type='text'>
Free the unsent raw_report buffers when the device is removed.

Fixes a memory leak reported by syzbot at:
https://syzkaller.appspot.com/bug?id=7b4fa7cb1a7c2d3342a2a8a6c53371c8c418ab47

Reported-by: syzbot+47b26cd837ececfc666d@syzkaller.appspotmail.com
Tested-by: syzbot+47b26cd837ececfc666d@syzkaller.appspotmail.com
Signed-off-by: Anirudh Rayabharam &lt;mail@anirudhrb.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-5.14/multitouch' into for-linus</title>
<updated>2021-06-30T07:15:15Z</updated>
<author>
<name>Jiri Kosina</name>
</author>
<published>2021-06-30T07:15:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b3e29642548258c7cd2cb3326a776fff84cd6b69'/>
<id>urn:sha1:b3e29642548258c7cd2cb3326a776fff84cd6b69</id>
<content type='text'>
- patch series that ensures that hid-multitouch driver disables touch and
  button-press reporting on hid-mt devices during suspend when the device is
  not configured as a wakeup-source, from Hans de Goede
</content>
</entry>
<entry>
<title>Merge branch 'for-5.14/core' into for-linus</title>
<updated>2021-06-30T07:03:51Z</updated>
<author>
<name>Jiri Kosina</name>
</author>
<published>2021-06-30T07:03:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fd73788ce6a580f2bd353e0f364d31b6c16dcd12'/>
<id>urn:sha1:fd73788ce6a580f2bd353e0f364d31b6c16dcd12</id>
<content type='text'>
- device unbinding locking fix from Dmitry Torokhov
- support for programmable buttons (mapping to KEY_MACRO# event codes)
  from Thomas Weißschuh
- various other small fixes and code style improvements
</content>
</entry>
<entry>
<title>HID: usbhid: Implement may_wakeup ll-driver callback</title>
<updated>2021-06-25T12:02:58Z</updated>
<author>
<name>Hans de Goede</name>
</author>
<published>2021-05-29T15:14:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=978e786c5e9bf538da0a4807539608a52d9be16b'/>
<id>urn:sha1:978e786c5e9bf538da0a4807539608a52d9be16b</id>
<content type='text'>
Without a ll-driver callback hid_hw_may_wakeup() will return:
device_may_wakeup(hdev-&gt;dev.parent), usb_hid_driver instantiated hid
devices have their parent set to the usb-interface to which the
usb_hid_driver is bound, but the power/wakeup* sysfs attributes are
part of the usb-device.

Add a may_wakeup ll-driver callback which calls device_may_wakeup()
on the usb-device instead.

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;
</content>
</entry>
<entry>
<title>HID: usbkbd: Avoid GFP_ATOMIC when GFP_KERNEL is possible</title>
<updated>2021-06-15T08:50:36Z</updated>
<author>
<name>Hyeonggon Yoo</name>
</author>
<published>2021-05-29T10:03:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a3af901c89685acb590b49ce054ea7e3015a770a'/>
<id>urn:sha1:a3af901c89685acb590b49ce054ea7e3015a770a</id>
<content type='text'>
usb_kbd_alloc_mem is called in usb_kbd_probe, which is
not in atomic context. So constraints can be relaxed here.

Use GFP_KERNEL instead of GFP_ATOMIC.

Signed-off-by: Hyeonggon Yoo &lt;42.hyeyoo@gmail.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
</feed>
