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


Ignore:
Timestamp:
2011-04-14T08:24:29Z (13 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
5e07e2b5
Parents:
3f2af64 (diff), 34e8bab (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge development/ changes

File:
1 edited

Legend:

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

    r3f2af64 rd8b275d  
    6363        }
    6464
     65        usb_log_debug("%s %d:%d %zu(%zu).\n",
     66            name, target.address, target.endpoint, size, ep->max_packet_size);
     67
    6568        const size_t bw = bandwidth_count_usb11(
    6669            ep->speed, ep->transfer_type, size, ep->max_packet_size);
     
    6871                usb_log_error("Endpoint(%d:%d) %s needs %zu bw "
    6972                    "but only %zu is reserved.\n",
    70                     name, target.address, target.endpoint, bw, res_bw);
     73                    target.address, target.endpoint, name, bw, res_bw);
    7174                return ENOSPC;
    7275        }
    73         usb_log_debug("%s %d:%d %zu(%zu).\n",
    74             name, target.address, target.endpoint, size, ep->max_packet_size);
    7576
    7677        *batch = batch_get(
     
    146147        hc_t *hc = fun_to_hc(fun);
    147148        assert(hc);
     149        const size_t size = max_packet_size;
    148150        usb_speed_t speed = usb_device_keeper_get_speed(&hc->manager, address);
    149151        if (speed >= USB_SPEED_MAX) {
    150152                speed = ep_speed;
    151153        }
    152         const size_t size =
    153             (transfer_type == USB_TRANSFER_INTERRUPT
    154             || transfer_type == USB_TRANSFER_ISOCHRONOUS) ?
    155             max_packet_size : 0;
    156         int ret;
    157 
    158         endpoint_t *ep = malloc(sizeof(endpoint_t));
    159         if (ep == NULL)
    160                 return ENOMEM;
    161         ret = endpoint_init(ep, address, endpoint, direction,
    162             transfer_type, speed, max_packet_size);
    163         if (ret != EOK) {
    164                 free(ep);
    165                 return ret;
    166         }
    167 
    168154        usb_log_debug("Register endpoint %d:%d %s %s(%d) %zu(%zu) %u.\n",
    169155            address, endpoint, usb_str_transfer_type(transfer_type),
    170156            usb_str_speed(speed), direction, size, max_packet_size, interval);
    171157
    172         ret = usb_endpoint_manager_register_ep(&hc->ep_manager, ep, size);
    173         if (ret != EOK) {
    174                 endpoint_destroy(ep);
    175         }
    176         return ret;
     158        return usb_endpoint_manager_add_ep(&hc->ep_manager, address, endpoint,
     159            direction, transfer_type, speed, max_packet_size, size);
    177160}
    178161/*----------------------------------------------------------------------------*/
     
    212195        ret = hc_schedule(hc, batch);
    213196        if (ret != EOK) {
    214                 batch_dispose(batch);
     197                usb_transfer_batch_dispose(batch);
    215198        }
    216199        return ret;
     
    240223        ret = hc_schedule(hc, batch);
    241224        if (ret != EOK) {
    242                 batch_dispose(batch);
     225                usb_transfer_batch_dispose(batch);
    243226        }
    244227        return ret;
     
    268251        ret = hc_schedule(hc, batch);
    269252        if (ret != EOK) {
    270                 batch_dispose(batch);
     253                usb_transfer_batch_dispose(batch);
    271254        }
    272255        return ret;
     
    296279        ret = hc_schedule(hc, batch);
    297280        if (ret != EOK) {
    298                 batch_dispose(batch);
     281                usb_transfer_batch_dispose(batch);
    299282        }
    300283        return ret;
     
    329312        ret = hc_schedule(hc, batch);
    330313        if (ret != EOK) {
    331                 batch_dispose(batch);
     314                usb_transfer_batch_dispose(batch);
    332315        }
    333316        return ret;
     
    361344        ret = hc_schedule(hc, batch);
    362345        if (ret != EOK) {
    363                 batch_dispose(batch);
     346                usb_transfer_batch_dispose(batch);
    364347        }
    365348        return ret;
Note: See TracChangeset for help on using the changeset viewer.