diff --git a/drivers/input/usbhidd/src/main.rs b/drivers/input/usbhidd/src/main.rs index c716b0d324..96da0d8093 100644 --- a/drivers/input/usbhidd/src/main.rs +++ b/drivers/input/usbhidd/src/main.rs @@ -242,6 +242,9 @@ fn main() -> Result<()> { .config_descs .iter() .find_map(|conf_desc| { + // xhcid indexes endpoints within the selected configuration + // only; reset the global counter for each candidate config. + endp_count = 0; let if_desc = conf_desc.interface_descs.iter().find_map(|if_desc| { if if_desc.number == interface_num { let endp_desc_opt = if_desc.endpoints.iter().find_map(|endp_desc| {