<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/usb/usb_request.c, branch release/12.3.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F12.3.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F12.3.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2020-12-28T13:04:56Z</updated>
<entry>
<title>MFC r368659 and r368664:</title>
<updated>2020-12-28T13:04:56Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2020-12-15T12:05:07Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f3d75bed5475b15f21edf4052665b1212b548bd0'/>
<id>urn:sha1:f3d75bed5475b15f21edf4052665b1212b548bd0</id>
<content type='text'>
Improve handling of alternate settings in the USB stack.

Allow setting the alternate interface number to fail when there is only
one alternate setting present, to comply with the USB specification.

Refactor how iface-&gt;num_altsetting is computed.

Bump the __FreeBSD_version due to change of core USB structure.

PR:		251856
Submitted by:	Ma, Horse &lt;Shichun.Ma@dell.com&gt;
Sponsored by:	Mellanox Technologies // NVIDIA Networking
</content>
</entry>
<entry>
<title>MFC r366536:</title>
<updated>2020-10-20T08:33:11Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2020-10-20T08:33:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=cc6d6789c67e6aeb5270e7c0825f11aca26baddc'/>
<id>urn:sha1:cc6d6789c67e6aeb5270e7c0825f11aca26baddc</id>
<content type='text'>
Try a bit harder to get the USB device descriptor in case the initial read fails.

Sponsored by:		Mellanox Technologies // NVIDIA Networking
</content>
</entry>
<entry>
<title>MFC r364932:</title>
<updated>2020-09-21T18:27:44Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2020-09-21T18:27:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f2dde09373c4da3858c9925df212b6dab118f104'/>
<id>urn:sha1:f2dde09373c4da3858c9925df212b6dab118f104</id>
<content type='text'>
Allow slow USB devices to be given more time to return their USB descriptors,
like Logitech HD Pro Webcam C920.

PR:		248926
Sponsored by:	Mellanox Technologies
</content>
</entry>
<entry>
<title>MFC r342778:</title>
<updated>2019-01-18T08:47:48Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2019-01-18T08:47:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2aba3d2b152847edf0b48fb345be5015f8684fe0'/>
<id>urn:sha1:2aba3d2b152847edf0b48fb345be5015f8684fe0</id>
<content type='text'>
Reduce timeout for reading the USB HUB port status to 1000ms and try to filter
out dead USB HUB devices by implementing an error counter, so that the USB
enumeration thread does not spend all its time reading from non-responding
devices, blocking user-space access in the end.

Tested by:	Matthias Apitz &lt;guru@unixarea.de&gt;
Sponsored by:	Mellanox Technologies
</content>
</entry>
<entry>
<title>Improve the kernel's USB descriptor reading function.</title>
<updated>2018-06-27T12:08:12Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2018-06-27T12:08:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b774480cd6ab59aa8b45fec16df1dbb34d0694d5'/>
<id>urn:sha1:b774480cd6ab59aa8b45fec16df1dbb34d0694d5</id>
<content type='text'>
Some USB devices does not allow a partial descriptor readout.

Found by:	bz@
MFC after:	1 week
Sponsored by:	Mellanox Technologies
</content>
</entry>
<entry>
<title>Permit "(", ")", ":", and "/" in USB string descriptors.</title>
<updated>2018-05-19T10:49:51Z</updated>
<author>
<name>Edward Tomasz Napierala</name>
<email>trasz@FreeBSD.org</email>
</author>
<published>2018-05-19T10:49:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=607371490974b434882ecacef3477ca3f5beb80f'/>
<id>urn:sha1:607371490974b434882ecacef3477ca3f5beb80f</id>
<content type='text'>
This way we can properly show descriptors with URLs in them.

Reviewed by:	hselasky@
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
</content>
</entry>
<entry>
<title>sys/dev: further adoption of SPDX licensing ID tags.</title>
<updated>2017-11-27T14:52:40Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2017-11-27T14:52:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=718cf2ccb9956613756ab15d7a0e28f2c8e91cab'/>
<id>urn:sha1:718cf2ccb9956613756ab15d7a0e28f2c8e91cab</id>
<content type='text'>
Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.
</content>
</entry>
<entry>
<title>Improve USB polling mode by not locking any mutexes, asserting any</title>
<updated>2016-09-14T12:07:34Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2016-09-14T12:07:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=0eb8d462321b9b88bc4dd2fe3e1aa5fc8f460bb6'/>
<id>urn:sha1:0eb8d462321b9b88bc4dd2fe3e1aa5fc8f460bb6</id>
<content type='text'>
mutexes or using any callouts when active.

Trying to lock a mutex when KDB is active or the scheduler is stopped
can result in infinite wait loops. The same goes for calling callout
related functions which in turn lock mutexes.

If the USB controller at which a USB keyboard is connected is idle
when KDB is entered, polling the USB keyboard via USB will always
succeed. Else polling may fail depending on which state the USB
subsystem and USB interrupt handler is in. This is unavoidable unless
KDB can wait for USB interrupt threads to complete before stalling the
CPU(s).

Tested by:	Bruce Evans &lt;bde@freebsd.org&gt;
MFC after:	4 weeks
</content>
</entry>
<entry>
<title>Resolve deadlock between device_detach() and usbd_do_request_flags()</title>
<updated>2016-09-05T15:35:58Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2016-09-05T15:35:58Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=64cb5e2a26932271783dd65ee739178f0a36b188'/>
<id>urn:sha1:64cb5e2a26932271783dd65ee739178f0a36b188</id>
<content type='text'>
by reviving the SX control request lock and refining which lock
protects the common scratch area in "struct usb_device".

The SX control request lock was removed by r246759 because it caused a
lock order reversal with the USB enumeration lock inside
usbd_transfer_setup() as a function of r246616. It was thought that
reducing the number of locks would resolve the LOR, but because some
USB device drivers use usbd_do_request_flags() inside callback
functions, like in taskqueues, a deadlock may occur when these are
drained from device_detach(). By restoring the SX control request
lock usbd_do_request_flags() is allowed to complete its execution
when a USB device driver is detaching. By using the SX control request
lock to protect the scratch area, the LOR introduced by r246616 is
also resolved.

Bump the FreeBSD version while at it to force recompilation of all USB
kernel modules.

Found by:	avos@
MFC after:	1 week
</content>
</entry>
<entry>
<title>Make a bunch of USB debug SYSCTLs tunable, so that their value(s) can</title>
<updated>2015-01-05T15:04:17Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2015-01-05T15:04:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ece4b0bd43bfb226fac07e61c933bb3d3d2c2c36'/>
<id>urn:sha1:ece4b0bd43bfb226fac07e61c933bb3d3d2c2c36</id>
<content type='text'>
be set before the USB device(s) are probed.
</content>
</entry>
</feed>
