Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/bus/usb/uhci/hc.c

    r5e07cbc0 r933b0d7  
    192192            "Device registers at %p (%zuB) accessible.\n", io, reg_size);
    193193
    194         ret = hc_init_mem_structures(instance);
    195         CHECK_RET_RETURN(ret,
    196             "Failed to initialize UHCI memory structures: %s.\n",
     194        ret = hcd_init(&instance->generic, BANDWIDTH_AVAILABLE_USB11,
     195            bandwidth_count_usb11);
     196        CHECK_RET_RETURN(ret, "Failed to initialize HCD generic driver: %s.\n",
    197197            str_error(ret));
    198 
    199 #undef CHECK_RET_RETURN
    200 
    201         hcd_init(&instance->generic, USB_SPEED_FULL,
    202             BANDWIDTH_AVAILABLE_USB11, bandwidth_count_usb11);
    203198
    204199        instance->generic.private_data = instance;
    205200        instance->generic.schedule = hc_schedule;
    206201        instance->generic.ep_add_hook = NULL;
     202
     203#undef CHECK_RET_DEST_FUN_RETURN
     204
     205        ret = hc_init_mem_structures(instance);
     206        if (ret != EOK) {
     207                usb_log_error(
     208                    "Failed to initialize UHCI memory structures: %s.\n",
     209                    str_error(ret));
     210                hcd_destroy(&instance->generic);
     211                return ret;
     212        }
    207213
    208214        hc_init_hw(instance);
     
    293299        const uint32_t queue = LINK_POINTER_QH(
    294300                addr_to_phys(instance->transfers_interrupt.queue_head));
    295 
    296         for (unsigned i = 0; i < UHCI_FRAME_LIST_COUNT; ++i) {
     301        unsigned i = 0;
     302        for(; i < UHCI_FRAME_LIST_COUNT; ++i) {
    297303                instance->frame_list[i] = queue;
    298304        }
Note: See TracChangeset for help on using the changeset viewer.