libusb: dequeue next transfer on completion to prevent stalls
The transfer proxy callbacks (bulk/interrupt, control, isochronous)
only called libusb10_submit_transfer_sub() in the START path to
pipeline the second kernel transfer slot. On completion or error,
no attempt was made to dequeue the next pending transfer from
tr_head onto the now-free slot.
When more than two async transfers were submitted on the same
endpoint, the third (and subsequent) transfers would remain stuck
on tr_head indefinitely, since no completion ever triggered their
submission. This caused a protocol-level deadlock in applications
like adb that submit header + payload + zero-length terminator as
three separate bulk transfers in sequence.
Fix by calling libusb10_submit_transfer_sub() after every
libusb10_complete_transfer() in all three proxy callbacks.
MFC After: 2 weeks
[4 lines not shown]
style.mdoc: Remove synopsis formatting advice
Remove incorrect advice. The first rule was no spaces padding pipes
when showing alternates. Almost universally we not do this, and third
party manuals do not either. The second was using Cm to mark up symbols.
This advice is in conflict with mdoc(7), and the extended documentation
on mdoc linked below, which is also linked at the bottom of mdoc(7).
Conflicting information in our docs is a natural result of documentation
proliferation. The most important thing we can do to reduce technical
debt in the documentation is reduce the amount of doc overlap. Excessive
technical debt and conflicting rules is a barrier to new contributors.
This type of work requires thorough expertise, is not glamorous at all,
and to add insult to injury, is socially unsafe. To get new contributors
to the docs project, we must deduplicate documentation.
We have the mdoc manual, examples/mdoc, style.mdoc, and the fdp chapter
on manual pages. With this many, they will inevitably come to contain
conflicting information, and people will learn not to read them or work
[5 lines not shown]
style.mdoc: Li macro is undeprecated for some time
Previously, the mdoc linter warned against using Li as it was deprecated
upstream. However, upstream undeprecated it since last year. As usual
when it comes to style, the best thing to do is to follow the existing
style of the page. We have many manuals which prefer double quotes.
MFC after: 3 days
Citation: https://cvsweb.bsd.lv/mandoc/mdoc.7?rev=1.297
Differential Revision: https://reviews.freebsd.org/D55297
diff3: Produce correct exit status
Use exit status 2 for errors, 1 only to indicate that differences were
found between the inputs (in some operating modes).
MFC after: 1 week
Sponsored by: Klara, Inc.
Reviewed by: ngie, bapt
Differential Revision: https://reviews.freebsd.org/D55608
ports-mgmt/poudriere-dsh2dsh: Update 3.4.99.20260219 => 3.4.99.20260228
Upstream changes:
- bulk/testport: Fix caching of fetched distfiles for flavored-ports
* Note that this does not fix go mod cache files not being cached.
That is tracked in freebsd/poudriere#1311
- bulk -b: Fix fetching with poudriere-created pkgbase jail.
- logclean: Fix empty build log directory removal with multiple jails
- jail -d -C: Allow rerunning and fix much of -C handling.
- pkgclean -n: Fix possibly generating repo under dry-run.
PR: 293529