Changes in uspace/lib/usb/src/usb.c [05b59393:820d9bc] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usb/src/usb.c
r05b59393 r820d9bc 44 44 [USB_SPEED_FULL] = "full", 45 45 [USB_SPEED_HIGH] = "high", 46 [USB_SPEED_SUPER] = "super", 46 47 }; 47 48 … … 118 119 } 119 120 120 /** Check setup packet data for signs of toggle reset.121 *122 * @param[in] requst Setup requst data.123 *124 * @retval -1 No endpoints need reset.125 * @retval 0 All endpoints need reset.126 * @retval >0 Specified endpoint needs reset.127 *128 */129 int usb_request_needs_toggle_reset(130 const usb_device_request_setup_packet_t *request)131 {132 assert(request);133 switch (request->request)134 {135 /* Clear Feature ENPOINT_STALL */136 case USB_DEVREQ_CLEAR_FEATURE: /*resets only cleared ep */137 /* 0x2 ( HOST to device | STANDART | TO ENPOINT) */138 if ((request->request_type == 0x2) &&139 (request->value == USB_FEATURE_ENDPOINT_HALT))140 return uint16_usb2host(request->index);141 break;142 case USB_DEVREQ_SET_CONFIGURATION:143 case USB_DEVREQ_SET_INTERFACE:144 /* Recipient must be device, this resets all endpoints,145 * In fact there should be no endpoints but EP 0 registered146 * as different interfaces use different endpoints,147 * unless you're changing configuration or alternative148 * interface of an already setup device. */149 if (!(request->request_type & SETUP_REQUEST_TYPE_DEVICE_TO_HOST))150 return 0;151 break;152 default:153 break;154 }155 return -1;156 }157 158 121 /** 159 122 * @}
Note:
See TracChangeset
for help on using the changeset viewer.