Changeset 516d361 in mainline
- Timestamp:
- 2017-12-20T15:55:28Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- d9f0894
- Parents:
- 4547f11
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usbhost/src/usb_bus.c
r4547f11 r516d361 102 102 * 103 103 * @param[in] instance Device manager structure to use. 104 * @return Free address, or error code. 105 */ 106 static usb_address_t usb_bus_get_free_address(usb_bus_t *instance) 104 * @param[out] address Free address. 105 * @return Error code. 106 */ 107 static int usb_bus_get_free_address(usb_bus_t *instance, usb_address_t *address) 107 108 { 108 109 … … 119 120 instance->last_address = new_address; 120 121 121 return new_address; 122 *address = new_address; 123 return EOK; 122 124 } 123 125 … … 474 476 /** Request USB address. 475 477 * @param instance usb_device_manager 476 * @param address Pointer to requested address value, place to store new address478 * @param[inout] address Pointer to requested address value, place to store new address 477 479 * @parma strict Fail if the requested address is not available. 478 480 * @return Error code. … … 491 493 492 494 usb_address_t addr = *address; 495 int rc; 493 496 494 497 fibril_mutex_lock(&instance->guard); 495 498 /* Only grant default address to strict requests */ 496 499 if ((addr == USB_ADDRESS_DEFAULT) && !strict) { 497 addr = usb_bus_get_free_address(instance); 500 rc = usb_bus_get_free_address(instance, &addr); 501 if (rc != EOK) { 502 fibril_mutex_unlock(&instance->guard); 503 return rc; 504 } 498 505 } 499 506 … … 503 510 return ENOENT; 504 511 } 505 addr = usb_bus_get_free_address(instance); 512 rc = usb_bus_get_free_address(instance, &addr); 513 if (rc != EOK) { 514 fibril_mutex_unlock(&instance->guard); 515 return rc; 516 } 506 517 } 507 518 if (usb_address_is_valid(addr)) { … … 516 527 517 528 fibril_mutex_unlock(&instance->guard); 518 return addr; 529 530 *address = addr; 531 return EOK; 519 532 } 520 533
Note:
See TracChangeset
for help on using the changeset viewer.