Changeset 68e5406 in mainline for uspace/lib/usbhost/src/ddf_helpers.c
- Timestamp:
- 2017-12-10T21:08:11Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 4c6de4f
- Parents:
- dd8ab1c
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usbhost/src/ddf_helpers.c
rdd8ab1c r68e5406 481 481 }}; 482 482 483 const usb_address_t address = hcd_request_address(hcd, speed); 484 if (address < 0) { 483 usb_address_t address; 484 ret = hcd_request_address(hcd, speed, &address); 485 if (ret != EOK) { 485 486 usb_log_error("Failed to reserve new address: %s.", 486 str_error( address));487 return address;487 str_error(ret)); 488 return ret; 488 489 } 489 490 … … 518 519 usb_log_debug("Device(%d): Requesting first 8B of device descriptor.", 519 520 address); 520 ssize_t got = hcd_send_batch_sync(hcd, default_target, USB_DIRECTION_IN, 521 size_t got; 522 ret = hcd_send_batch_sync(hcd, default_target, USB_DIRECTION_IN, 521 523 &desc, CTRL_PIPE_MIN_PACKET_SIZE, *(uint64_t *)&get_device_desc_8, 522 "read first 8 bytes of dev descriptor"); 523 524 if (got != CTRL_PIPE_MIN_PACKET_SIZE) { 525 ret = got < 0 ? got : EOVERFLOW; 524 "read first 8 bytes of dev descriptor", &got); 525 526 if (ret == EOK && got != CTRL_PIPE_MIN_PACKET_SIZE) { 527 ret = EOVERFLOW; 528 } 529 530 if (ret != EOK) { 526 531 usb_log_error("Device(%d): Failed to get 8B of dev descr: %s.", 527 532 address, str_error(ret)); … … 552 557 553 558 usb_log_debug("Device(%d): Setting USB address.", address); 554 got = hcd_send_batch_sync(hcd, default_target, USB_DIRECTION_OUT,555 NULL, 0, *(uint64_t *)&set_address, "set address" );559 ret = hcd_send_batch_sync(hcd, default_target, USB_DIRECTION_OUT, 560 NULL, 0, *(uint64_t *)&set_address, "set address", &got); 556 561 557 562 usb_log_debug("Device(%d): Removing default (0:0) EP.", address); 558 563 hcd_remove_ep(hcd, default_target, USB_DIRECTION_BOTH); 559 564 560 if ( got != 0) {565 if (ret != EOK) { 561 566 usb_log_error("Device(%d): Failed to set new address: %s.", 562 address, str_error( got));567 address, str_error(ret)); 563 568 hcd_remove_ep(hcd, target, USB_DIRECTION_BOTH); 564 569 hcd_release_address(hcd, address); 565 return got;570 return ret; 566 571 } 567 572 … … 572 577 usb_log_debug("Device(%d): Requesting full device descriptor.", 573 578 address); 574 got = hcd_send_batch_sync(hcd, target, USB_DIRECTION_IN,579 ret = hcd_send_batch_sync(hcd, target, USB_DIRECTION_IN, 575 580 &desc, sizeof(desc), *(uint64_t *)&get_device_desc, 576 "read device descriptor" );581 "read device descriptor", &got); 577 582 if (ret != EOK) { 578 583 usb_log_error("Device(%d): Failed to set get dev descriptor: %s", … … 749 754 const hw_res_list_parsed_t *hw_res, 750 755 interrupt_handler_t handler, 751 int (*gen_irq_code)(irq_code_t *, const hw_res_list_parsed_t * hw_res),756 int (*gen_irq_code)(irq_code_t *, const hw_res_list_parsed_t *, int *), 752 757 cap_handle_t *handle) 753 758 { … … 759 764 irq_code_t irq_code = {0}; 760 765 761 const int irq = gen_irq_code(&irq_code, hw_res); 762 if (irq < 0) { 766 int irq; 767 int ret = gen_irq_code(&irq_code, hw_res, &irq); 768 if (ret != EOK) { 763 769 usb_log_error("Failed to generate IRQ code: %s.\n", 764 str_error( irq));765 return irq;770 str_error(ret)); 771 return ret; 766 772 } 767 773 768 774 /* Register handler to avoid interrupt lockup */ 769 intret = register_interrupt_handler(device, irq, handler,775 ret = register_interrupt_handler(device, irq, handler, 770 776 &irq_code, handle); 771 777 irq_code_clean(&irq_code);
Note:
See TracChangeset
for help on using the changeset viewer.