Changeset 0eadfd1e in mainline
- Timestamp:
- 2018-01-09T14:14:32Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- dfa1fc8
- Parents:
- 17c5e62
- Location:
- uspace/drv/bus/usb/xhci
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/xhci/bus.c
r17c5e62 r0eadfd1e 93 93 xhci_endpoint_t *ep0 = xhci_endpoint_get(ep0_base); 94 94 95 if ((err = xhci_endpoint_alloc_transfer_ds(ep0)))96 goto err_added;97 98 95 /* Address device */ 99 96 if ((err = hc_address_device(bus->hc, dev, ep0))) 100 goto err_prepared; 101 102 return EOK; 103 104 err_prepared: 105 xhci_endpoint_free_transfer_ds(ep0); 97 goto err_added; 98 99 return EOK; 100 106 101 err_added: 107 102 /* Bus reference */ … … 354 349 continue; 355 350 356 xhci_endpoint_free_transfer_ds(xhci_endpoint_get(endpoints[i]));357 351 /* Bus reference */ 358 352 endpoint_del_ref(endpoints[i]); … … 411 405 xhci_device_t *dev = xhci_device_get(ep_base->device); 412 406 413 if ((err = xhci_endpoint_alloc_transfer_ds(ep)))414 return err;415 416 407 usb_log_info("Endpoint " XHCI_EP_FMT " registered to XHCI bus.", XHCI_EP_ARGS(*ep)); 417 408 … … 420 411 421 412 if ((err = hc_add_endpoint(bus->hc, dev->slot_id, xhci_endpoint_index(ep), &ep_ctx))) 422 goto err_prepared; 423 424 return EOK; 425 426 err_prepared: 427 xhci_endpoint_free_transfer_ds(ep); 428 return err; 413 return err; 414 415 return EOK; 429 416 } 430 417 … … 454 441 } 455 442 456 /* Tear down TRB ring / PSA. */457 xhci_endpoint_free_transfer_ds(ep);458 459 443 return EOK; 460 444 } -
uspace/drv/bus/usb/xhci/endpoint.c
r17c5e62 r0eadfd1e 45 45 #include "endpoint.h" 46 46 47 static int alloc_transfer_ds(xhci_endpoint_t *); 48 static void free_transfer_ds(xhci_endpoint_t *); 49 47 50 /** 48 51 * Initialize new XHCI endpoint. … … 55 58 int xhci_endpoint_init(xhci_endpoint_t *xhci_ep, device_t *dev, const usb_endpoint_descriptors_t *desc) 56 59 { 60 int rc; 57 61 assert(xhci_ep); 58 62 … … 103 107 } 104 108 109 if ((rc = alloc_transfer_ds(xhci_ep))) 110 goto err; 111 105 112 return EOK; 113 114 err: 115 return rc; 106 116 } 107 117 … … 113 123 { 114 124 assert(xhci_ep); 125 126 free_transfer_ds(xhci_ep); 115 127 116 128 // TODO: Something missed? … … 291 303 * @return Error code. 292 304 */ 293 int xhci_endpoint_alloc_transfer_ds(xhci_endpoint_t *xhci_ep)305 static int alloc_transfer_ds(xhci_endpoint_t *xhci_ep) 294 306 { 295 307 /* Can't use XHCI_EP_FMT because the endpoint may not have device. */ … … 316 328 * @param[in] xhci_ep XHCI endpoint to free data structures for. 317 329 */ 318 void xhci_endpoint_free_transfer_ds(xhci_endpoint_t *xhci_ep)330 static void free_transfer_ds(xhci_endpoint_t *xhci_ep) 319 331 { 320 332 if (endpoint_using_streams(xhci_ep)) { -
uspace/drv/bus/usb/xhci/endpoint.h
r17c5e62 r0eadfd1e 150 150 int xhci_endpoint_init(xhci_endpoint_t *, device_t *, const usb_endpoint_descriptors_t *); 151 151 void xhci_endpoint_fini(xhci_endpoint_t *); 152 int xhci_endpoint_alloc_transfer_ds(xhci_endpoint_t *);153 void xhci_endpoint_free_transfer_ds(xhci_endpoint_t *);154 152 155 153 int xhci_endpoint_request_streams(xhci_hc_t *, xhci_device_t *, xhci_endpoint_t *, unsigned);
Note:
See TracChangeset
for help on using the changeset viewer.