+ // Search through descriptors returning necessary info
+ for ( list = usb_descriptor_list; 1; list++ )
+ {
+ if ( list->addr == NULL )
+ break;
+ if ( list->wValue != 0x2200 )
+ continue;
+ if ( setup.wIndex == list->wIndex )
+ {
+ data = list->addr;
+ datalen = list->length;
+ goto send;
+ }
+ }
+ endpoint0_stall();
+ return;