Changeset 1e70157 in mainline for uspace/drv/uhci-hcd/iface.c


Ignore:
Timestamp:
2011-04-06T19:52:17Z (15 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
8dc762e0
Parents:
fb8927d
Message:

Header fixes, add qh to endpoint structure, add endpoint toggle reset

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/uhci-hcd/iface.c

    rfb8927d r1e70157  
    160160            usb_device_keeper_get_speed(&hc->manager, address);
    161161        const size_t size = max_packet_size;
     162        int ret;
    162163
    163164        endpoint_t *ep = malloc(sizeof(endpoint_t));
    164165        if (ep == NULL)
    165166                return ENOMEM;
    166         endpoint_init(ep, transfer_type, speed, max_packet_size);
     167        ret = endpoint_init(ep, transfer_type, speed, max_packet_size);
     168        if (ret != EOK) {
     169                free(ep);
     170                return ret;
     171        }
    167172
    168173        usb_log_debug("Register endpoint %d:%d %s %s(%d) %zu(%zu) %u.\n",
     
    176181            0;
    177182
    178         int ret = usb_endpoint_manager_register_ep(&hc->ep_manager,
     183        ret = usb_endpoint_manager_register_ep(&hc->ep_manager,
    179184            address, endpoint, direction, ep, endpoint_destroy, bw);
    180185        if (ret != EOK) {
    181186                endpoint_destroy(ep);
     187        } else {
     188                usb_device_keeper_add_ep(&hc->manager, address, &ep->same_device_eps);
    182189        }
    183190        return ret;
     
    345352        assert(ep->transfer_type == USB_TRANSFER_BULK);
    346353
    347 
    348354        usb_transfer_batch_t *batch =
    349355            batch_get(fun, target, ep->transfer_type, ep->max_packet_size,
     
    394400
    395401        usb_transfer_batch_t *batch =
    396             batch_get(fun, target, ep->transfer_type, ep->max_packet_size, ep->speed,
    397                 data, size, NULL, 0, callback, NULL, arg, &hc->manager);
     402            batch_get(fun, target, ep->transfer_type, ep->max_packet_size,
     403                ep->speed, data, size, NULL, 0, callback, NULL, arg,
     404                &hc->manager);
    398405        if (!batch)
    399406                return ENOMEM;
Note: See TracChangeset for help on using the changeset viewer.