pub enum EnumerationError {
NotConnected,
PortNotEnabled,
MalformedDescriptor,
OutOfChannels,
OutOfAddresses,
TooManyHubs,
Transfer(TransferError),
}bcm2712 only.Expand description
Variants§
NotConnected
No device is connected on the root port (nothing to enumerate).
PortNotEnabled
The root port didn’t enable after a reset — the root device never came up.
MalformedDescriptor
A descriptor (the root hub’s configuration or class descriptor) was too short to parse.
OutOfChannels
Every host channel was already handed out, so enumeration
couldn’t get one to run its control transfers on — see
Dwc2Host::alloc_channel.
OutOfAddresses
All 127 USB device addresses are in use, so the device just reset cannot be given one. The devices already found are still reported; the walk stops at the one that didn’t fit.
TooManyHubs
More hubs are on the bus than a Bus can track (see
MAX_HUBS). Reported rather than passed over, because the
topology a Bus keeps is what every device’s split target is
derived from: an untracked hub means devices below it would be
addressed through the wrong transaction translator, which is a
worse answer than stopping.
Transfer(TransferError)
An underlying control transfer failed.