Procházet zdrojové kódy

Impove handling of non-enumeration control transfers

main
PaulStoffregen před 7 roky
rodič
revize
2423608e0f
1 změnil soubory, kde provedl 6 přidání a 6 odebrání
  1. +6
    -6
      enumeration.cpp

+ 6
- 6
enumeration.cpp Zobrazit soubor

@@ -97,6 +97,12 @@ void USBHost::enumeration(const Transfer_t *transfer)
//print(transfer);
Device_t *dev = transfer->pipe->device;

// If a driver created this control transfer, allow it to process the result
if (transfer->driver) {
transfer->driver->control(transfer);
return;
}

while (1) {
// Within this large switch/case, "break" means we've done
// some work, but more remains to be done in a different
@@ -220,12 +226,6 @@ void USBHost::enumeration(const Transfer_t *transfer)
return;
case 15: // control transfers for other stuff?
// TODO: handle other standard control: set/clear feature, etc
for (USBDriver *d = dev->drivers; d != NULL; d = d->next) {
if (d->control(transfer)) {
// this driver processed the control transfer reply
return;
}
}
default:
return;
}

Načítá se…
Zrušit
Uložit