<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git/src/host/usbh.c, branch pr3864-alt</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/tinyusb.git/atom/src/host/usbh.c?h=pr3864-alt</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/src/host/usbh.c?h=pr3864-alt'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/'/>
<updated>2026-09-04T06:49:19Z</updated>
<entry>
<title>usbh: fix mount and enumeration retry state</title>
<updated>2026-09-04T06:49:19Z</updated>
<author>
<name>HiFiPHile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-09-04T03:21:52Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=b09f21f328e12c7296c554dbaad9e8d607cc17f3'/>
<id>urn:sha1:b09f21f328e12c7296c554dbaad9e8d607cc17f3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>host: retry enumeration of the roothub port after a failed attach</title>
<updated>2026-09-04T06:49:15Z</updated>
<author>
<name>Jan Procházka</name>
<email>90197375+P-R-O-C-H-Y@users.noreply.github.com</email>
</author>
<published>2026-09-02T16:06:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=6d998115ac55f761a3b5f8900fedca0e0aeb4506'/>
<id>urn:sha1:6d998115ac55f761a3b5f8900fedca0e0aeb4506</id>
<content type='text'>
enum_full_complete() already closes the failed device (from #3815).
Nothing retries the root port itself: the host then sits idle until
reboot. Re-post the attach up to USBH_ENUM_ROOT_RETRY_MAX times while
the port still reports a connection.

The budget is per port and given back when the attachment ends, including
when an attach event tears down an in-flight enumeration. tuh_umount_cb()
is only called for a device that reached tuh_mounted().

Co-authored-by: Cursor &lt;cursoragent@cursor.com&gt;
</content>
</entry>
<entry>
<title>host: close dev0 when the whole roothub port goes away</title>
<updated>2026-09-04T06:49:11Z</updated>
<author>
<name>Jan Procházka</name>
<email>90197375+P-R-O-C-H-Y@users.noreply.github.com</email>
</author>
<published>2026-09-02T16:06:10Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=9cfd1d21f141577f3172e5a38e0fab4b6adf1fc2'/>
<id>urn:sha1:9cfd1d21f141577f3172e5a38e0fab4b6adf1fc2</id>
<content type='text'>
A remove for hub_addr = 0, hub_port = 0 covers everything below the root
port, but process_remove_event() only closed dev0 when the event named
the exact bus address it was enumerating on. Mid-enumeration behind a
downstream hub then left enumerating_daddr at 0 and deferred every later
attach.

Co-authored-by: Cursor &lt;cursoragent@cursor.com&gt;
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/master' into agent/fix-dwc2-host-fifo-allocation</title>
<updated>2026-09-02T13:21:41Z</updated>
<author>
<name>HiFiPHile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-09-01T15:44:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=51761d2dfdf2036395b0b6ada6fdde213f97416f'/>
<id>urn:sha1:51761d2dfdf2036395b0b6ada6fdde213f97416f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>USBH: fail enumeration cleanly after disconnect</title>
<updated>2026-09-02T13:21:41Z</updated>
<author>
<name>HiFiPHile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-09-01T15:24:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=a52b5a0c25d2cfea286d67eb3d9d8891a9b69e8f'/>
<id>urn:sha1:a52b5a0c25d2cfea286d67eb3d9d8891a9b69e8f</id>
<content type='text'>
A disconnect can close endpoint zero after an enumeration control stage completes but before USBH submits the next stage or request. HCD submission then legitimately returns false; treating that result as an invariant violation asserts during rapid replug and can leave enumeration unfinished.

Complete an in-progress control request as failed when its DATA or status stage cannot be submitted. Propagate submission failures from every asynchronous enumeration continuation and finish enumeration through the normal failure cleanup path. This keeps controller teardown races out of assertions without fabricating a successful transfer.

Validated by interrupting enumeration during rapid STM32U5A5 replug tests with DWC2 DMA and slave modes.
</content>
</entry>
<entry>
<title>Merge pull request #3828 from dxbjavid/ep2drv-endpoint-bound</title>
<updated>2026-09-01T08:42:39Z</updated>
<author>
<name>Zixun LI</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-09-01T08:42:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=f4697a0626ffa81617c457c93b64e3c3816c1af0'/>
<id>urn:sha1:f4697a0626ffa81617c457c93b64e3c3816c1af0</id>
<content type='text'>
bound endpoint number in tu_bind_driver_to_ep_itf</content>
</entry>
<entry>
<title>propagate the endpoint-bound failure on the host path</title>
<updated>2026-09-01T08:41:53Z</updated>
<author>
<name>HiFiPHile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-09-01T08:36:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=bc359e55b8d3fb5fc5b9e026d5c21b52d554fdd2'/>
<id>urn:sha1:bc359e55b8d3fb5fc5b9e026d5c21b52d554fdd2</id>
<content type='text'>
tu_bind_driver_to_ep_itf() now returns false when ep_num &gt;= CFG_TUH_ENDPOINT_MAX, but the host caller ignores that result and continues enumeration. Configurations such as host/bare_api set the limit to 8, while valid USB devices may use endpoints 8–15. A recognized class can therefore continue and later index ep_status[epnum] or ep2drv[epnum] out of bounds. Wrap this call in TU_ASSERT(...), as the device path already does, so parsing fails immediately.

Signed-off-by: HiFiPHile &lt;admin@hifiphile.com&gt;
</content>
</entry>
<entry>
<title>vendor: remove the obsolete host vendor driver</title>
<updated>2026-08-21T04:06:14Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-08-21T04:06:14Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=a57f857f811e054e7a240fc55520648192349c2b'/>
<id>urn:sha1:a57f857f811e054e7a240fc55520648192349c2b</id>
<content type='text'>
vendor_host.c/.h implemented a CFG_TUH_VENDOR class driver that no example, board
or test ever enabled: usbh's driver table entry was compiled out everywhere, and
the six tusb_config.h files that mentioned the macro all set it to 0. Maintainer
call - dead code, not a shrinking of supported classes.

Removes the sources, the usbh driver-table entry, the CFG_TUH_VENDOR default in
tusb_option.h, the tusb.h include, both build-system source lists, the rp2040
family.cmake entry and the IAR project template rows.
</content>
</entry>
<entry>
<title>bound endpoint number in tu_bind_driver_to_ep_itf</title>
<updated>2026-08-17T15:30:57Z</updated>
<author>
<name>Javid Khan</name>
<email>dxbjavid@gmail.com</email>
</author>
<published>2026-08-17T15:26:27Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=53567226fce0e7be7e7b5e7a019d0f4d14064c33'/>
<id>urn:sha1:53567226fce0e7be7e7b5e7a019d0f4d14064c33</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix usbh empty builtin driver warning</title>
<updated>2026-07-05T13:27:30Z</updated>
<author>
<name>HiFiPhile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-07-05T13:27:30Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=073657a04e727203d0363dfb0be195b4b9bcb451'/>
<id>urn:sha1:073657a04e727203d0363dfb0be195b4b9bcb451</id>
<content type='text'>
Signed-off-by: HiFiPhile &lt;admin@hifiphile.com&gt;
</content>
</entry>
</feed>
