Changes in uspace/drv/usbhub/usbhub.c [5097bed4:71ed4849] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/usbhub/usbhub.c
r5097bed4 r71ed4849 75 75 //get some hub info 76 76 usb_address_t addr = usb_drv_get_my_address(hc, device); 77 dprintf(1,"[usb_hub] addres sof newly created hub = %d", addr);77 dprintf(1,"[usb_hub] addres of newly created hub = %d", addr); 78 78 /*if(addr<0){ 79 79 //return result; … … 174 174 dprintf(1,"[usb_hub] THERE ARE NO CONFIGURATIONS AVAILABLE"); 175 175 } 176 /// \TODO check other configurations177 176 usb_standard_configuration_descriptor_t config_descriptor; 178 177 opResult = usb_drv_req_get_bare_configuration_descriptor(hc, … … 195 194 } 196 195 196 197 197 for (port = 1; port < hub_info->port_count+1; ++port) { 198 198 usb_hub_set_power_port_request(&request, port); … … 205 205 //ports powered, hub seems to be enabled 206 206 207 207 208 ipc_hangup(hc); 208 209 209 210 //add the hub to list 210 futex_down(&usb_hub_list_lock);211 211 usb_lst_append(&usb_hub_list, hub_info); 212 futex_up(&usb_hub_list_lock);213 214 212 dprintf(1,"[usb_hub] hub info added to list"); 215 213 //(void)hub_info; … … 235 233 // 236 234 //********************************************* 237 238 /**239 * convenience function for releasing default address and writing debug info240 * (these few lines are used too often to be written again and again)241 * @param hc242 * @return243 */244 inline static int usb_hub_release_default_address(int hc){245 int opResult;246 dprintf(1,"[usb_hub] releasing default address");247 opResult = usb_drv_release_default_address(hc);248 if (opResult != EOK) {249 dprintf(1,"[usb_hub] failed to release default address");250 }251 return opResult;252 }253 235 254 236 /** … … 277 259 if (opResult != EOK) { 278 260 dprintf(1,"[usb_hub] something went wrong when reseting a port"); 279 usb_hub_release_default_address(hc); 280 } 281 } 261 } 262 } 263 264 /** 265 * convenience function for releasing default address and writing debug info 266 * (these few lines are used too often to be written again and again) 267 * @param hc 268 * @return 269 */ 270 inline static int usb_hub_release_default_address(int hc){ 271 int opResult; 272 dprintf(1,"[usb_hub] releasing default address"); 273 opResult = usb_drv_release_default_address(hc); 274 if (opResult != EOK) { 275 dprintf(1,"[usb_hub] failed to release default address"); 276 } 277 return opResult; 278 } 279 282 280 283 281 /** … … 345 343 346 344 /** 347 * unregister device address in hc 345 * unregister device address in hc, close the port 348 346 * @param hc 349 347 * @param port … … 354 352 //usb_device_request_setup_packet_t request; 355 353 int opResult; 356 354 //disable port 355 /*usb_hub_set_disable_port_request(&request, port); 356 opResult = usb_drv_sync_control_write( 357 hc, target, 358 &request, 359 NULL, 0 360 ); 361 if (opResult != EOK) { 362 //continue; 363 printf("[usb_hub] something went wrong when disabling a port\n"); 364 }*/ 357 365 /// \TODO remove device 358 366 … … 449 457 */ 450 458 usb_general_list_t * lst_item; 451 futex_down(&usb_hub_list_lock);452 459 for (lst_item = usb_hub_list.next; 453 460 lst_item != &usb_hub_list; 454 461 lst_item = lst_item->next) { 455 futex_up(&usb_hub_list_lock);456 462 usb_hub_info_t * hub_info = ((usb_hub_info_t*)lst_item->data); 457 463 /* … … 504 510 } 505 511 } 506 free(change_bitmap);507 512 508 513 ipc_hangup(hc); 509 futex_down(&usb_hub_list_lock); 510 } 511 futex_up(&usb_hub_list_lock); 514 } 512 515 } 513 516
Note:
See TracChangeset
for help on using the changeset viewer.