Changeset ca07cd3 in mainline for uspace/lib/usbvirt/ctrlpipe.c
- Timestamp:
- 2010-10-25T13:23:33Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 23cb44b
- Parents:
- 355f7c2
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usbvirt/ctrlpipe.c
r355f7c2 rca07cd3 47 47 usb_address_t dev_new_address = -1; 48 48 49 /** Tell request type. 50 * By type is meant either standard, class, vendor or other. 51 */ 49 52 static int request_get_type(uint8_t request_type) 50 53 { … … 52 55 } 53 56 54 55 int control_pipe(usbvirt_control_transfer_t *transfer) 57 /** Handle communication over control pipe zero. 58 */ 59 int control_pipe(usbvirt_device_t *device, usbvirt_control_transfer_t *transfer) 56 60 { 57 61 if (transfer->request_size < sizeof(usb_device_request_setup_packet_t)) { … … 68 72 switch (type) { 69 73 case REQUEST_TYPE_STANDARD: 70 rc = handle_std_request( request, remaining_data);74 rc = handle_std_request(device, request, remaining_data); 71 75 break; 72 76 case REQUEST_TYPE_CLASS: … … 80 84 } 81 85 82 if (dev _new_address != -1) {86 if (device->new_address != -1) { 83 87 /* 84 88 * TODO: handle when this request is invalid (e.g. 85 89 * setting address when in configured state). 86 90 */ 87 if (dev _new_address == 0) {91 if (device->new_address == 0) { 88 92 device->state = USBVIRT_STATE_DEFAULT; 89 93 } else { 90 94 device->state = USBVIRT_STATE_ADDRESS; 91 95 } 92 device->address = dev _new_address;96 device->address = device->new_address; 93 97 94 dev _new_address = -1;98 device->new_address = -1; 95 99 } 96 100
Note:
See TracChangeset
for help on using the changeset viewer.