<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git/src/class, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/tinyusb.git/atom/src/class?h=master</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/src/class?h=master'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/'/>
<updated>2026-07-19T20:01:11Z</updated>
<entry>
<title>Merge pull request #3750 from dxbjavid/cdc-acm-open-desc-bounds</title>
<updated>2026-07-19T20:01:11Z</updated>
<author>
<name>Zixun LI</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-07-19T20:01:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=52e6ab7704ce2e57f41f70d6ba2bc5470c4b56c7'/>
<id>urn:sha1:52e6ab7704ce2e57f41f70d6ba2bc5470c4b56c7</id>
<content type='text'>
bound cdc-data endpoints against descriptor length in acm_open</content>
</entry>
<entry>
<title>add interface desc length check</title>
<updated>2026-07-19T19:11:12Z</updated>
<author>
<name>HiFiPhile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-07-19T19:11:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=17aee71c1105763e99248737532411a936703f47'/>
<id>urn:sha1:17aee71c1105763e99248737532411a936703f47</id>
<content type='text'>
Signed-off-by: HiFiPhile &lt;admin@hifiphile.com&gt;
</content>
</entry>
<entry>
<title>improve validation structure</title>
<updated>2026-07-19T19:01:43Z</updated>
<author>
<name>HiFiPhile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-07-19T18:39:02Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=1c3470a71e3755e6919cb7bd1a5d07f1985c8bb9'/>
<id>urn:sha1:1c3470a71e3755e6919cb7bd1a5d07f1985c8bb9</id>
<content type='text'>
Signed-off-by: HiFiPhile &lt;admin@hifiphile.com&gt;
</content>
</entry>
<entry>
<title>improve pointer arithmetic, check funmctional descriptor bLength</title>
<updated>2026-07-19T18:30:08Z</updated>
<author>
<name>HiFiPhile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-07-19T18:30:08Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=ea88d2f530e11702a7bfc5aa882e8e659a677681'/>
<id>urn:sha1:ea88d2f530e11702a7bfc5aa882e8e659a677681</id>
<content type='text'>
Signed-off-by: HiFiPhile &lt;admin@hifiphile.com&gt;
</content>
</entry>
<entry>
<title>vendor: deactivate de-selected altsetting's isochronous endpoints</title>
<updated>2026-07-17T05:07:50Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-07-17T05:07:50Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=a68d776ac072725266ab53b64b29d4405090281f'/>
<id>urn:sha1:a68d776ac072725266ab53b64b29d4405090281f</id>
<content type='text'>
vendord_set_alt() aborted bulk/interrupt endpoints of the outgoing
altsetting (stall/clear-stall) but only dropped the iso endpoints'
tracking: an armed iso transfer stayed live in the dcd with its usbd
claim held and no tracked handle to stop it, and its completion fired
into an endpoint the class no longer recognizes. Reachable through the
usbtest example's alt0 (bulk) &lt;-&gt; alt1 (iso) SET_INTERFACE switching.

Track each selected iso endpoint's descriptor (points into the app's
static descriptor set) and deactivate on de-selection: with the
iso-alloc API re-activation is the abort/scrub primitive (resets
ep_status, aborts the stale transfer); without it usbd_edpt_close does,
and the next selection re-opens. Iso cannot be stalled like
bulk/interrupt, hence the separate path.

Build-verified: usbtest for stm32f072disco, ra4m1_ek, raspberry_pi_pico
(iso-alloc) and ch32v307v_r1_1v0 (close API).
</content>
</entry>
<entry>
<title>audio: drop stale EP-busy note in audiod_set_interface</title>
<updated>2026-07-09T16:38:49Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-07-09T16:38:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=411fc4127f17afe81c5a443008e883dd58390238'/>
<id>urn:sha1:411fc4127f17afe81c5a443008e883dd58390238</id>
<content type='text'>
Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01HeF2gZ1M7GWkz6Av4BpKPg
</content>
</entry>
<entry>
<title>class/vendor: add interrupt/iso endpoint pairs and alt-setting support</title>
<updated>2026-07-09T16:38:08Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-07-09T16:38:08Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=33cabfe3f045a89ffdcfadce6ed5331c8b7bc870'/>
<id>urn:sha1:33cabfe3f045a89ffdcfadce6ed5331c8b7bc870</id>
<content type='text'>
Non-buffered per-type source/sink endpoints (bulk/int/iso) with manual RX
arming across altsettings.

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01HeF2gZ1M7GWkz6Av4BpKPg
</content>
</entry>
<entry>
<title>gate acm_open descriptor bounds behind CFG_TUH_VALIDATION_LEVEL</title>
<updated>2026-07-06T23:56:03Z</updated>
<author>
<name>Javid Khan</name>
<email>dxbjavid@gmail.com</email>
</author>
<published>2026-07-06T23:56:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=be8e6990cee5f7c2d5f09fc8494a1159c5c7c5a7'/>
<id>urn:sha1:be8e6990cee5f7c2d5f09fc8494a1159c5c7c5a7</id>
<content type='text'>
add a three-level TUSB_VALIDATION_NONE/BASIC/STRICT knob and default
CFG_TUH_VALIDATION_LEVEL to BASIC, then make acm_open the first user so
the enumeration bounds checks compile out at NONE for trusted-device
setups and stay on by default.
</content>
</entry>
<entry>
<title>bound rndis data packet offset in handle_incoming_packet</title>
<updated>2026-07-05T16:50:18Z</updated>
<author>
<name>Javid Khan</name>
<email>dxbjavid@gmail.com</email>
</author>
<published>2026-07-05T16:50:18Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=0f61948954260ab0b0bff108d2aa55151801f325'/>
<id>urn:sha1:0f61948954260ab0b0bff108d2aa55151801f325</id>
<content type='text'>
Signed-off-by: Javid Khan &lt;dxbjavid@gmail.com&gt;
</content>
</entry>
<entry>
<title>Merge pull request #3738 from sauloverissimo/fix/midi2-fb-direction</title>
<updated>2026-07-05T15:46:14Z</updated>
<author>
<name>Zixun LI</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-07-05T15:46:14Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=536157cb98fbc40329c9695281506fe7f04e526f'/>
<id>urn:sha1:536157cb98fbc40329c9695281506fe7f04e526f</id>
<content type='text'>
feat(midi2): derive function blocks from the GTB descriptor</content>
</entry>
</feed>
