usb-synopsys-otg: ensure ep alloc fails when endpoint_count < MAX_EP_COUNT.

Before, it would alloc the endpoint fine and then panic later due to out of range.
This ensures it falis at ep alloc time, and with a panic message that says
what's the actual problem: "no free endpoints available".
This commit is contained in:
Dario Nieuwenhuis 2024-08-03 00:14:11 +02:00
parent a2ea2630f6
commit 7d65c5c4fa

View File

@ -382,8 +382,8 @@ impl<'d, const MAX_EP_COUNT: usize> Driver<'d, MAX_EP_COUNT> {
}
let eps = match D::dir() {
Direction::Out => &mut self.ep_out,
Direction::In => &mut self.ep_in,
Direction::Out => &mut self.ep_out[..self.instance.endpoint_count],
Direction::In => &mut self.ep_in[..self.instance.endpoint_count],
};
// Find free endpoint slot