fix: only ISO EP is always double buffered

This commit is contained in:
elagil 2025-03-16 16:34:09 +01:00
parent 0ff6184723
commit cecbe082ff

View File

@ -363,10 +363,11 @@ impl<'d, T: Instance> Driver<'d, T> {
return false; // reserved for control pipe return false; // reserved for control pipe
} }
let used = ep.used_out || ep.used_in; let used = ep.used_out || ep.used_in;
if used && (ep.ep_type == EndpointType::Isochronous || ep.ep_type == EndpointType::Bulk) { if used && (ep.ep_type == EndpointType::Isochronous) {
// Isochronous and bulk endpoints are double-buffered. // Isochronous endpoints are always double-buffered.
// Their corresponding endpoint/channel registers are forced to be unidirectional. // Their corresponding endpoint/channel registers are forced to be unidirectional.
// Do not reuse this index. // Do not reuse this index.
// FIXME: Bulk endpoints can be double buffered, but are not in the current implementation.
return false; return false;
} }