When a real USB device stalls an endpoint, the VM sends CLEAR_FEATURE(ENDPOINT_HALT) to recover. Previously this was a no-op, leaving the endpoint permanently stalled and causing the guest to hang. Now the CLEAR_FEATURE handler in device.rs finds the interface that owns the stalled endpoint and calls clear_halt on its handler. For host passthrough this forwards to nusb's new Interface::clear_halt; for simulated devices it remains a no-op. Fixes YubiKey (and other CCID devices) hanging after endpoint stall during passthrough. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| fuzz-afl | ||
| fuzz-cargo | ||
| src | ||
| Cargo.toml | ||