Changeset 954ea70 in mainline for uspace/lib/usbvirt/ctrlpipe.c
- Timestamp:
- 2010-10-22T14:55:33Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- b8a3cda
- Parents:
- a498728
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usbvirt/ctrlpipe.c
ra498728 r954ea70 45 45 ((value & GET_MIDBITS_MASK(size, shift)) >> shift) 46 46 47 usb_address_t dev_new_address = -1; 48 47 49 static int request_get_type(uint8_t request_type) 48 50 { … … 63 65 int type = request_get_type(request->request_type); 64 66 67 int rc = EOK; 68 65 69 switch (type) { 66 70 case REQUEST_TYPE_STANDARD: 67 r eturnhandle_std_request(request, remaining_data);71 rc = handle_std_request(request, remaining_data); 68 72 break; 69 73 case REQUEST_TYPE_CLASS: 70 74 if (DEVICE_HAS_OP(device, on_class_device_request)) { 71 r eturndevice->ops->on_class_device_request(device,75 rc = device->ops->on_class_device_request(device, 72 76 request, remaining_data); 73 77 } … … 77 81 } 78 82 79 return EOK; 83 device->send_data(device, 0, NULL, 0); 84 85 if (dev_new_address != -1) { 86 /* 87 * TODO: handle when this request is invalid (e.g. 88 * setting address when in configured state). 89 */ 90 if (dev_new_address == 0) { 91 device->state = USBVIRT_STATE_DEFAULT; 92 } else { 93 device->state = USBVIRT_STATE_ADDRESS; 94 } 95 device->address = dev_new_address; 96 97 dev_new_address = -1; 98 } 99 100 return rc; 80 101 } 81 102
Note:
See TracChangeset
for help on using the changeset viewer.