Changes in uspace/drv/usbhub/utils.c [6ab7f3e9:c1693dae] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/usbhub/utils.c
r6ab7f3e9 rc1693dae 62 62 * @return newly created serializd descriptor pointer 63 63 */ 64 void * usb_create_serialized_hub_descriptor(usb_hub_descriptor_t * descriptor) {64 void * usb_create_serialized_hub_descriptor(usb_hub_descriptor_t * descriptor) { 65 65 //base size 66 66 size_t size = 7; 67 67 //variable size according to port count 68 size_t var_size = (descriptor->ports_count + 7) /8;68 size_t var_size = (descriptor->ports_count+7)/8; 69 69 size += 2 * var_size; 70 70 uint8_t * result = malloc(size); 71 71 //size 72 if 73 usb_serialize_hub_descriptor(descriptor, 72 if(result) 73 usb_serialize_hub_descriptor(descriptor,result); 74 74 return result; 75 75 } … … 82 82 * @param serialized_descriptor 83 83 */ 84 void usb_serialize_hub_descriptor(usb_hub_descriptor_t * descriptor,84 void usb_serialize_hub_descriptor(usb_hub_descriptor_t * descriptor, 85 85 void * serialized_descriptor) { 86 86 //base size … … 88 88 size_t size = 7; 89 89 //variable size according to port count 90 size_t var_size = (descriptor->ports_count + 7) /8;90 size_t var_size = (descriptor->ports_count+7)/8; 91 91 size += 2 * var_size; 92 92 //size … … 110 110 } 111 111 112 112 113 /** 113 114 * create deserialized desriptor structure out of serialized descriptor … … 120 121 */ 121 122 usb_hub_descriptor_t * usb_create_deserialized_hub_desriptor( 122 void *serialized_descriptor) {123 void * serialized_descriptor) { 123 124 uint8_t * sdescriptor = serialized_descriptor; 124 125 … … 129 130 } 130 131 131 usb_hub_descriptor_t * result = malloc(sizeof 132 if 133 usb_deserialize_hub_desriptor(serialized_descriptor, 132 usb_hub_descriptor_t * result = malloc(sizeof(usb_hub_descriptor_t)); 133 if(result) 134 usb_deserialize_hub_desriptor(serialized_descriptor,result); 134 135 return result; 135 136 } … … 143 144 */ 144 145 void usb_deserialize_hub_desriptor( 145 void * serialized_descriptor, usb_hub_descriptor_t *descriptor) {146 void * serialized_descriptor, usb_hub_descriptor_t * descriptor) { 146 147 uint8_t * sdescriptor = serialized_descriptor; 147 148 descriptor->ports_count = sdescriptor[2]; … … 150 151 descriptor->pwr_on_2_good_time = sdescriptor[5]; 151 152 descriptor->current_requirement = sdescriptor[6]; 152 size_t var_size = (descriptor->ports_count +7) / 8;153 size_t var_size = (descriptor->ports_count+7) / 8; 153 154 //descriptor->devices_removable = (uint8_t*) malloc(var_size); 154 155
Note:
See TracChangeset
for help on using the changeset viewer.