Changes in uspace/drv/bus/usb/ohci/hc.c [0cd8089:57e06ef] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/ohci/hc.c
r0cd8089 r57e06ef 127 127 assert(hub_fun); 128 128 129 /* Try to get address 1 for root hub. */ 130 instance->rh.address = 1; 131 int ret = usb_device_manager_request_address( 132 &instance->generic.dev_manager, &instance->rh.address, false, 133 USB_SPEED_FULL); 134 if (ret != EOK) { 129 const usb_address_t hub_address = 130 usb_device_manager_get_free_address( 131 &instance->generic.dev_manager, USB_SPEED_FULL); 132 if (hub_address <= 0) { 135 133 usb_log_error("Failed to get OHCI root hub address: %s\n", 136 str_error(ret)); 137 return ret; 138 } 139 usb_device_manager_bind_address(&instance->generic.dev_manager, 140 instance->rh.address, hub_fun->handle); 134 str_error(hub_address)); 135 return hub_address; 136 } 137 instance->rh.address = hub_address; 138 usb_device_manager_bind( 139 &instance->generic.dev_manager, hub_address, hub_fun->handle); 141 140 142 141 #define CHECK_RET_UNREG_RETURN(ret, message...) \ … … 144 143 usb_log_error(message); \ 145 144 usb_endpoint_manager_remove_ep( \ 146 &instance->generic.ep_manager, instance->rh.address, 0, \147 USB_DIRECTION_BOTH, NULL, NULL);\148 usb_device_manager_release _address( \149 &instance->generic.dev_manager, instance->rh.address); \145 &instance->generic.ep_manager, hub_address, 0, USB_DIRECTION_BOTH, \ 146 NULL, NULL);\ 147 usb_device_manager_release( \ 148 &instance->generic.dev_manager, hub_address); \ 150 149 return ret; \ 151 150 } else (void)0 152 ret = usb_endpoint_manager_add_ep( 153 &instance->generic.ep_manager, instance->rh.address, 0, 154 USB_DIRECTION_BOTH, USB_TRANSFER_CONTROL, USB_SPEED_FULL, 64, 155 0, NULL, NULL); 151 int ret = usb_endpoint_manager_add_ep( 152 &instance->generic.ep_manager, hub_address, 0, USB_DIRECTION_BOTH, 153 USB_TRANSFER_CONTROL, USB_SPEED_FULL, 64, 0, NULL, NULL); 156 154 CHECK_RET_UNREG_RETURN(ret, 157 155 "Failed to register root hub control endpoint: %s.\n", … … 195 193 list_initialize(&instance->pending_batches); 196 194 197 hcd_init(&instance->generic, USB_SPEED_FULL,198 BANDWIDTH_AVAILABLE_USB11,bandwidth_count_usb11);195 hcd_init(&instance->generic, BANDWIDTH_AVAILABLE_USB11, 196 bandwidth_count_usb11); 199 197 instance->generic.private_data = instance; 200 198 instance->generic.schedule = hc_schedule;
Note:
See TracChangeset
for help on using the changeset viewer.